如何在机器人项目中组织课程?

时间:2011-06-02 14:51:52

标签: android robotium

我有一个活动A,它启动了一个活动B.

我想要一个机器人项目来测试我的应用程序,所以我为活动A创建了第一个测试类,一切顺利。

我现在想要为测试活动B创建另一个测试类,但它需要来自活动A的一些初始化。

我试过了:

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]
}

当testA正在执行getActivity()

时,我得到了NullPointerException

1 个答案:

答案 0 :(得分: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();
    }

}

所有测试用例都从BReast继承

public class OneTest extends BTest {

    public void test_OneTest() {

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

    }


}