RobolectricをAndroidスタジオで使用したいと思っていますが、この[question] [2]への回答を確認した上で[gradle-android-test-plugin] [1]しかし、運がない。gradle-android-test-pluginの使い方
- 私は新しいAndroidプロジェクトを作成し、MyAppという名前を付けました。
- 私はREADMEの "Usage"セクションのすべての指示に従いました。
- 私はまだ私の新しいプロジェクトでテストする任意のコードを持っていなかったので、私は
gradle-android-test-plugin/example/src/test/java/com/example
から( `RobolectricGradleTestRunner`含む)のクラスをコピーして
gradle-android-test-plugin/example/src/main/java/com/example
新しいMyAppプロジェクト内の対応するファイルパスにコピーします。
私は以前にAndroidの単体テストを実装したことはありません。私は次に何をすべきか分かりません。私は正常にプラグインのルートディレクトリに./gradlew install
を実行しましたが、私の新しいプロジェクトのルートディレクトリで同じことを行うと何も成就しません。これは、この苦情をスロー:私は全くのGradle自体の教科書を読んでの非常に短い、Gradleのに慣れていないよ
Task 'install' is ambiguous in root project 'MyApp'. Candidates are: 'installDebug', 'installTest'.
、私はこの問題を解決するかどうかはわかりません。
私はAndroidManifest.xml
を含むMyAppのディレクトリを入力し、テストをビルドして実行する../gradlew clean check
をしようとすると、私はこのエラーを取得:
Could not determine the dependencies of task ':MyApp:testDebug'.
Androidのメーカーが私を見つけるすべての問題を持っていないようです依存関係。誰かが私のテストを実行する方向で私を指摘できますか?私はそれがプラグインのREADMEに言及されていない単純なターミナルコマンドか何かを想像しています。乾杯!
編集:
は、ここに私のbuild.gradle
です。私はそれがプラグインに含まれているサンプルプロジェクトのものと構造的に同じではないことを認識していますが、その構造は私に同じエラーを与えました。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.+'
}
}
apply plugin: 'android'
apply plugin: 'android-test'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 11
targetSdkVersion 18
}
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
testCompile 'junit:junit:4.11'
testCompile 'org.robolectric:robolectric:2.1.+'
testCompile 'com.squareup:fest-android:1.0.+'
}
EDIT2:(ラビンドラの答えに示すように)私は、私はまた、(ジェイクさんのコメントが指摘するように)のGradleの私のバージョンが新しすぎた実現するために失敗した間違ったコマンドを発行しているという事実に加えて 。メインプロジェクトフォルダプラグインのコードからテスト
gradle tests
は、RE: ':MyAppに:testDebug' タスクの依存関係を判断できませんでした。 Gradle 1.7はまだサポートされていません。 –
...これは、ラッパーが1.6を使用する方法です:http://www.gradle.org/docs/current/userguide/gradle_wrapper.html、次にgradleラッパー(NOT ./gradlewラッパー)を実行してください – CjS
この問題は、 [githubで追跡しました](https://github.com/JakeWharton/gradle-android-test-plugin/issues/3)、すぐに解決策が出ています。あなたがこれを読んでいる頃には、既に利用可能かもしれません。 – gMale