私は AndroidStudio を使用しており、gradle でビルドしています。
Robolectirc でアプリをテストしたいので、build.gradle に以下を追加します。
buildscript の依存関係セクション:
classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.+'
android-test プラグインを適用します。
apply plugin: 'android-test'
testCompile 構成を使用して、テストのみの依存関係を追加します。
testCompile 'junit:junit:4.10'
testCompile 'org.robolectric:robolectric:2.1.+'
testCompile 'com.squareup:fest-android:1.0.+'
これらはhttps://github.com/JakeWharton/gradle-android-test-pluginからのものです
これらのものを追加したので、以下のようにgradle.buildを取得します。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.+'
}
}
apply plugin: 'android'
apply plugin: 'android-test'
repositories {
mavenCentral()
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 17
}
signingConfigs {
freeConfing {
storeFile file("../../../workspace_android/keystore/pm.keystore");
storePassword "password"
keyAlias "key"
keyPassword "password"
}
paidConfing {
storeFile file("../../../workspace_android/keystore/pm.keystore");
storePassword "password"
keyAlias "key"
keyPassword "password"
}
}
productFlavors {
paid {
packageName "com.my.app"
buildConfig "public final static boolean isFullVersion = true;"
versionCode 2
versionName "1.0.0"
signingConfig signingConfigs.paidConfing
}
free {
packageName "com.my.app"
buildConfig "public final static boolean isFullVersion = false;"
versionCode 2
versionName "1.0.0"
signingConfig signingConfigs.freeConfing
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
testCompile 'junit:junit:4.10'
testCompile 'org.robolectric:robolectric:2.1.+'
testCompile 'com.squareup:fest-android:1.0.+'
}
アプリをテストしたいので、ターミナルに次のように入力しました
gradle test
しかし、私は得た
Could not determine the dependencies of task ':MyApp:testFreeDebug'.
商品フレーバー名称変更testFreeDebug
また、機能しgradle tasks
ていません...
テスト用のものを追加しない前は、うまく機能していました。
Robolectric でアプリをテストするにはどうすればよいですか?