Как организовать класс в проекте robotium?

У меня есть действие A, которое запускает действие B.

Я хотел бы иметь проект robotium для тестирования моего приложения, поэтому я создал первый тестовый класс для упражнения А, и все идет хорошо.

Я хотел бы сейчас создать еще один тестовый класс для тестирования Деятельности B, но он требует некоторой инициализации из Деятельности А.

Я попробовал это:

BTestClass extends ActivityInstrumentationTestCase2 {
    private Solo solo;
private ATestClass testA;

    @Override
    protected void setUp() throws Exception {
        Log.i(TAG, "setUp");

        solo = new Solo(getInstrumentation(), getActivity());
        testA = new ATestClass();
        testA.setUp();
        testA.testAddAccount();
        solo.clickInList(0);
    }

    [… more test method]
}

Я получил NullPointerException, когда testA выполняет getActivity()

1 ответ

Я делаю это так:

public class BTest extends ActivityInstrumentationTestCase2<SplashScreenActivity> {

    protected static final String TARGET_PACKAGE_ID = "app.under.test";

    protected Solo solo;

    public BTest() {
        super(TARGET_PACKAGE_ID, StartingActivity.class);
    }

    @Override
    public void setUp() throws Exception {

        super.setUp();

        solo = new Solo(getInstrumentation(), getActivity());

        // setup stuff


    }

    @Override
    public void tearDown() throws Exception {

        // teardown stuff


        super.tearDown();
    }

}

Все тесты просто наследуются от BTest тогда

public class OneTest extends BTest {

    public void test_OneTest() {

        //test stuff
        solo.clickOnButton("Ok");

    }


}
Другие вопросы по тегам