1. Qiita
  2. Items
  3. JUnit

AndroidStudio + JUnit4で試行錯誤したこと

  • 32
    Like
  • 0
    Comment
posted at
More than 1 year has passed since last update.

Android Support LibraryにJUnit4が取り込まれたことを最近知り、その導入に向けて試行錯誤したことをここにメモしておきます。
同じ問題にハマっている人の参考になれば幸いです。

参考

導入方法:続・AndroidでJUnit4を使う方法(Android SDKで正式サポートされました!)

ビルドタイプがdebugでしかテストされないが、releaseでテストしたい!

以下を追加すると、releaseでテストできるようになります。

build.gradle
android {
    // ...
    testBuildType "release"
    // ...
}

カバレッジ測定をしたい!

以下を追加すると、カバレッジ測定が有効になります。

build.gradle
android {
    // ...
    buildTypes {
        debug {
            testCoverageEnabled true
        }
    }
    // ...
}

カバレッジ測定が有効になると、create${Flavor}${BuildType}CoverageReportというタスクがGradleに追加されるので、これを実行するとHTMLのレポートがbuild/outputs/reports/coverage/${Flavor}/${BuildType}以下に生成されます。

カバレッジ測定でRから始まるクラスが除外されている!

Android Gradle Plugin 1.0.0のバグです。1.1より修正されており、2015/02/03時点でベータ版までこぎつけているのでもう暫く待ちましょう。
もしどうしてもすぐに直したい人は、Android StudioをBetaやDevチャネルなどに設定してベータ版にアップデートし、ルートにあるbuild.gradlecom.android.tools.build:gradle:1.0.0をom.android.tools.build:gradle:1.1.0-+`に書き換えると直ります。

なお、1.1から従来のテストAndroid Instrumentation Testsとは別にUnit Testsというテストアーティファクトが追加されています。ビルドバリアントの設定などが追加されていますが、詳しい使い方は不明です。