2012-02-09 9 views
0

私はRobotiumを使用してAndroidアプリにテストケースを書きます。私は2つのテスト活動を行っています。最初のテストでは、アプリでのログイン手順を確認し、アプリを終了します。テストスイート内のテストアクティビティでのアプリケーションのシャットダウンと再起動

public static Test suite() { 
       TestSuite suite = new TestSuite(AllTests.class.getName()); 
       //$JUnit-BEGIN$ 

       suite.addTestSuite(LoginActivityTest.class); 

       suite.addTestSuite(MainScreenActivityTest.class); 
       //$JUnit-END$ 
       return suite; 
} 

しかし、最初のテストの終了により、2番目のテストは失敗します。 テストスイートでアプリを再起動するにはどうすればよいですか?

+0

「アプリを終了する」ということを明確にしてください。あなたは現在の活動を止めることを意味しますか? – Maks

答えて

0

各テストケースは個別に実行する必要があります。彼らは以前の成功またはエラーに頼ることはできません。これは、すべての単体テストの一般的なヒントです。

ロボットケース(少なくともバージョン3.0以降)でsetup()tearDown()を使用すると、テストケースが失敗した場合でも、各テストケースの前後にコードを実行できます。

setup()およびtearDown()がテストケースの前に呼び出されるため、テストケースを互いに結合しないようにします。
例が"Get started" Tutorial (pdf)に示されています。

+0

ありがとう@furtwart。私はあなたが私の質問を完全に理解しているかどうかはわかりません。すべてのテストアクティビティには独自の設定とティアダウンがありますが、LoginActivityTesが終了するとアプリは完全に閉じられ、MainScreenActivityTestはまったく実行されません。アプリをもう一度起動するにはどうすればいいですか? –

+0

私はその部分を見逃しました。追加してくれてありがとう。しかし、テストケースをあまりにも強固に結合してしまっています。彼らはお互いに依存していないかもしれません。アプリを再起動する方法は私の知るところではありません。 – guerda

関連する問題