AndroidStudio を 0.6.0 にすると、Gradle Plugin もアップデートするよう促されます。
この時、Robolectric を使ったテストをセットアップしていると、gradle-android-test-plugin
が Gradle Plugin のアップデートの影響を受けて正しく動かなくなります。
アップデートの配信直後、gradle-android-test-plugin
に対策が施され、Maven Central に無事リリースされていますので、現在は gradle-android-test-plugin
の最新版を利用すれば問題なく Robolectric が使用できます。
Maven の依存管理に対する変更
GitHub のプロジェクトでは、今回のリリースに合わせてプロジェクト名そのものも変更されています。
これにあわせて、Maven にデプロイするときに使用する Group ID と Artifact ID も変更されています。
よって、以下のように記述します。
buildscript {
dependencies {
classpath 'org.robolectric:robolectric-gradle-plugin:0.11.+'
}
}
プラグイン名の変更
これまで、android-test
という名前でプラグインを適用していましたが、robolectric
となります。
apply plugin: 'robolectric'
ここで、以下の様なスクリプトを組んでいると、androidTest()
が見つからないという旨の例外でビルドが失敗します。
androidTest {
include '**/*Test.class'
// ...
}
これは以下のように修正します。
robolectric {
include '**/*Test.class'
// ...
}
おまけ
AndroidManifest に Google Analytics のための metadata
を埋め込んでいると、Robolectric のテストランナーがクラッシュします。
理由は、metadata
にvalue
属性が設定されていることを前提としているためです。今のところ、空のvalue
属性を付与することで回避できます。