build.gradleの設定
Code Coverage機能を使用するために、app直下のbuild.gradleに追加します。android {
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
+ debug {
+ testCoverageEnabled = true
+ }
}
}
複数のProjectをImportしている場合、各モジュールのbuild.gradleにtestCoverageEnabledを追加します。
Code Coverageの実行
Terminalから次のコマンドを実行します。./gradlew createDebugCoverageReport
createDebugCoverageReportを実行すると、自動的にandroidTestを行います。
デバイス(or エミュレータ)が起動していない場合、次のようなエラーが表示されます。
:app:connectedAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:connectedAndroidTest'.
> com.android.builder.testing.api.DeviceException: java.lang.RuntimeException: No connected devices!
必ずデバイスかエミュレータを起動して、androidTestを実行できる環境にしておきましょう。
レポートの観覧
createDebugCoverageReportが成功すると、各モジュールのOutputにレポートを保存します。[PROJECT]/app/build/outputs/reports/coverage/debug/index.html
次のような表が出力されます。コードの全ライン数に対して、テストが実行されたラインが統計的に確認する事ができます。
次のように視覚的に、どのコードがテストされていないか確認することも可能です。

