LoginSignup
31

More than 5 years have passed since last update.

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

Posted at

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というテストアーティファクトが追加されています。ビルドバリアントの設定などが追加されていますが、詳しい使い方は不明です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31