で非同期タスクを開始するAndroidアクティビティの単体テストをどのように作成しますonCreate
か?これらのタスクの結果をテストしたいと思います。
2 に答える
Androidの外部でActivityのようなクラスをインスタンス化することはできないため、Androidの多くの機能のテストを作成するのは困難です。
真の単体テストを実行する方がよい場合があります...動作が気になる関数を単独でテストします。非同期タスク、アクティビティなどのコンテキストでテストしようとしないでください。
それを可能にするためにコードを少しリファクタリングする必要があるかもしれませんが、テスト可能なコードを持つことは価値があります!
Cherylの回答に記載されているように、真のユニットテストを実行するのが理想的です。ただし、それでも結果のAsyncTasksまたはアクティビティテストで長時間実行される非同期操作をテストしたい場合は、Espressoが特効薬です。
EspressoはAyscTasksが完了するのを自動的に待機し、開発者はIdlingResourceAPIを介して実行されるカスタムバックグラウンドタスクを待機するようにEspressoに手動で指示できます。
始めるのに役立つチュートリアルは次のとおりです:http://blog.sqisland.com/2015/04/espresso-custom-idling-resource.html
IdlingResourceドキュメント:http ://developer.android.com/reference/android/support/test/espresso/IdlingResource.html