ActivityInstrumentationTestCase2を使用して、ログインアクティビティに対して複数のテストケースを実行しようとしています。最初のテストケースはログインの成功をテストします。これにより、アクティビティはstartActivity(Intent intent)を呼び出して次のアクティビティを起動します。これで、テストしようとしているアクティビティの上に別のアクティビティがあります。最初のテストケースに合格し、2番目のテストケースが開始されます。ただし、2番目のテストケースによって呼び出されると、getActivity()で永久にハングします。
ログインアクティビティのコードに移動し、startActivity(Intent intent)を呼び出す部分をコメントアウトすると、両方のテストケースが正常に実行されます。
私はすでにいくつかのことを試しました。Intent.FLAG_ACTIVITY_CLEAR_TOPを使用してアクティビティスタックをクリアしました。この場合、最上位のアクティビティが閉じられ、ログインアクティビティが表示されますが、2番目のテストケースが開始されると、getActivity()でスタックします。
sendKeys(KeyEvent.KEYCODE_BACK)も試しましたが、効果はありません。
これを克服するために私は何ができますか?ありがとう!