4

各テストの後に実行されることになっていると思いましたが、ログからわかるのは、メソッドtearDown()の直後に開始されていることです。setUp()明確にできますか?

public class LaunchManagerActivityTest extends ActivityInstrumentationTestCase2<LaunchManagerActivity> {
    private Solo solo;

    public LaunchManagerActivityTest() {
        super(LaunchManagerActivity.class);

    }

    protected void setUp() throws Exception {
        super.setUp();
        Log.e("Dev", "setup");

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

    }

    protected void tearDown() throws Exception {
        super.tearDown();
        Log.e("Dev", "tearDown  ");

    }

出力:

02-11 11:33:33.095: E/Dev(26779): setup
02-11 11:33:34.395: E/Dev(26779): tearDown 
4

2 に答える 2

7

投稿したクラスにはテストがないため、セットアップとティアダウンを実行しただけです。これは予想される動作です。テストを実行すると、次のようになります。

constructor()
setUp();
testXXX();
tearDown();

2つのテストがある場合は、実行されます

constructor()
setUp();
testXXX();
tearDown();

setUp();
testXXX2();
tearDown();

junit 3(androidが使用する)のテストは、testという単語で始まり、同じクラスに属している必要があることを忘れないでください。

私が言ったことをテストするには、次のメソッドを追加します。

public void testXXX(){
    Log.d("Dev", "testXXX  ");
}

public void testXXX2(){
    Log.d("Dev", "testXXX2  ");
}
于 2013-02-11T09:38:50.820 に答える
0

これはJUnit3だと思います。tearDownは、各テストの後に実行されます。テストファイルにテストはありますか?JUnitは、現在のクラスで定義されているテストのみを実行します。

于 2013-02-11T09:39:48.470 に答える