ActivityInstrumentationTestCase2を拡張してAndroid Activityテストケースを作成しています。オフロードをテストしているアクティビティは、ローダーに作用します。アクティビティ自体はLoaderCallbackです。ActivityInstrumentationTestCase2でローダーが終了するまでブロックします。
問題は、ローダーが作業を完了する前に(テストケース以外のローダーが明らかに実行されているため)テストケースが終了することです。ローダーの作業が終了するまで、テストケースをどのように待機させることができますか?
基本的なローダースレッドに参加することを考えました。しかし、私は基本的なスレッドにアクセスする方法を見つけることができないようです。また、Loaderスレッドがすぐに起動しない可能性があります。
もう1つは、テストケースにLoaderListenerを登録することでしたが、特定のLoaderが1つのLoaderListenerしか持てないようです。
使用 'のThread.sleep()'で行うにいるもののために働きます私は別の同様の質問[ここ]で答えたサンプルコードをチェックしてください(http://stackoverflow.com/questions/10491526/how-can-i-test-the-result-of-a-button-click-that-アクティビティビュー-asy/10491965#10491965)。 – yorkw
はい、それは私がやっていることですが、それは脆いようです。テストを実行しているマシンが遅すぎるため、テストが失敗する可能性があります。私はそれを行うための堅実な方法が欲しいです。 –