さらに詳しく ● local unit tests − local test + unit test = JVM 上で実行される単体テスト ● instrumented unit tests − instrumented test + unit test = 端末上で実行される単体テスト 44 Android 公式ドキュメント内におけるテストの呼び方例 https://developer.android.com/training/testing/unit-testing/local-unit-tests より ● Test apps on Android − https://developer.android.com/training/testing/index.html
local unit test ● jvm 上で実行するテストの手法 ● 開発環境で直接高速に実行できる ● Androidフレームワークに依存したテストが書きにくい テストを格納する場所は、app/src/test 配下 49 Robolectric を使うと、local unit test でも Androidフレームワーク依存のテストを実行することができるようにな ります。ただし、あくまで JVM上でMockしているだけなのでテストとしての信頼性は落ちます。
instrumented test ● 実機やエミュレーターを使ってテストを実行する手法 ● Androidフレームワークを使わないとテストできないものは自 ずとこちらの手法を採用することになる ● ビルドに時間がかかり、実行速度も local unit test に比べて 遅い テストを格納する場所は、app/src/androidTest 配下 50
2章まとめ 53 ● Android でのテストには主に以下の分類がある − local unit test と instrumented test − unit test と integration test − ※Androidに限った話ではなく一般的な話 − それぞれの特徴に応じて使い分ける必要がある