gradle-android-test-plugin
ActionBarSherlockの開発者(だはず)でもあるJake Wharton氏がgradle-android-test-pluginっていうのを開発している模様っていうのを知ったので使ってみた
以前gradle-android-toolkitでRobolectricを動かすっていうのをやったのでそれをそのまま使う。修正するのはbuild.gradleだけ
ディレクトリ構造
上記で書いた以前のと同様にgradle-android-pluginベースな構造を利用する
├── app │ ├── build.gradle │ └── src │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── sample │ │ │ └── test │ │ │ └── MainActivity.java │ │ └── res │ │ ├── drawable │ │ │ └── ic_launcher.png │ │ ├── layout │ │ │ └── main.xml │ │ └── values │ │ └── strings.xml │ └── test │ └── java │ └── sample │ └── test │ └── MainActivityTest.java ├── local.properties └── settings.gradle
な感じだけど、直すのはbuild.gradleだけなので
build.gradle
buildscript {
repositories {
mavenCentral()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath "com.android.tools.build:gradle:0.6.1"
classpath "com.squareup.gradle:gradle-android-test-plugin:0.9.1-SNAPSHOT"
}
}
apply plugin: "android"
apply plugin: "android-test"
repositories {
mavenCentral()
}
dependencies {
testCompile "junit:junit:4.11"
testCompile "org.hamcrest:hamcrest-all:1.3"
testCompile "org.robolectric:robolectric:2.2"
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 18
}
}
なんでスナップショット版使ってるのかというと
Gradle1.6とかだと問題無いらしいけど、そうでない場合は「Could not determine the dependencies of task ':testDebug'」っていうエラーが出る https://t.co/fT0gaEQDye
— kinjouj (@kinjou_j) 2014, 1月 17
っていう事で
gradle test
をすると前回の記事でも書いてるようにテストがわざとずっこけるようになってるので、結果は同じになる
あと、AndroidManifest.xmlな件がドキュメントとかに書いてあるけどそこまだ疑問があるのでやったら追記する
追記
2014/02/14に確認した所、DEPRECATEDになっている。