ActivityInstrumentationTestCase2を使用してログインアクティビティに対して複数のテストケースを実行しようとしています。最初のテストケースはログイン成功をテストし、startActivity(Intent intent)を呼び出してActivityに次のActivityを起動させます。今、テストしようとしているアクティビティの上に別のアクティビティがあります。最初のテストケースが通過し、2番目のテストケースが開始されます。しかし、getActivity()が2番目のテストケースによって呼び出されているとき、それは永遠にgetActivity()でハングします。ActivityInstrumentationTestCase2によるAndroidユニットテスト、以前のテストケースで別のアクティビティが起動されたときにgetActivity()がハングアップする
ログインアクティビティのコードに入り、startActivity(Intent intent)を呼び出す部分をコメントアウトすると、両方のテストケースが正常に実行されます。
私はすでにいくつか試してみました。アクティビティスタックをクリアするためにIntent.FLAG_ACTIVITY_CLEAR_TOPを使用しました。この場合、トップアクティビティが閉じられ、ログインアクティビティが表示されますが、2番目のテストケースが開始されたときにgetActivity()でスタックされます。
私もKeys(KeyEvent.KEYCODE_BACK)を送信しようとしましたが、それは効果がありません。
これを解決するにはどうすればよいですか?ありがとう!
getInstrumentation()addMonitor(NextActivity.class.getName()、NULL、TRUE)。トリックをやった! – initialxy