Android releaseビルドでinstrumentation testを実施する


こんにちはsekitakaです。
最近CIに傾倒しています。

今回はAndroidのインスツルメントテストをreleaseビルドで実施する方法の紹介です。
BuildConfigの値を参照している部分のテストがあり、releaseビルドでinstrumentation testを実施したくて調べました。

以下の方法で実行できます。

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

AndroidStudio上は何かの理由でテストケース上エラーになりますが、以下のコマンドでテスト自体は実行できます。

./gradlew connectedReleaseAndroidTest

Releaseの部分がビルドバリアントになります。省略記法を使用して./gradlew cRATでも実行できます。
この方法でテストするとテストコード内のBuildConfig.BUILD_TYPEreleaseになってくれました。