アプリケーションがクリーンな状態から開始するユースケースをテストする必要があります。つまり、テスト開始前にプロセスが実行されていません。からわかるようにlogcat
、すべてのインストルメンテーション テストは 1 つのプロセス インスタンス/セッションで実行されるため、私の場合のテストの結果は、#1 として実行されるかどうかによって異なります。このようにすべきではありません - ご存知のように、単体テスト (またはインストルメンテーション テスト) は自律的でなければなりません。
標準の Android インストルメンテーション テスト ツールと機能を使用して、特定のテストの前に TestRunner にプロセスを強制的に再起動させる方法はありますか? そうでない場合、それを達成するのに役立つハックやサードパーティのライブラリはありますか? または、テスト X を最初に実行する必要があると具体的に言う方法はありますか(最悪のオプションですが、それでも)?
FLAG_ACTIVITY_CLEAR_TOP
具体的には、私のテストはインテントによるアクティビティの起動に関連しており、アクティビティの起動モード (例 ) に加えてインテント フラグ (例)singleTop
とプロセスの状態がテストの結果を大きく左右します。