我想讓Robolectric與Android Studio一起工作,並且在回顧本[問題] [2]的答案後嘗試使用[gradle-android-test-plugin] [1] ,但我沒有運氣。如何使用gradle-android-test-plugin
- 我創建了一個全新的Android項目並將其命名爲MyApp。
- 我遵循自述文件「用法」一節中的所有說明。
- 我還不有任何代碼在我的新項目進行測試,所以我從
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
,但在我的新項目的根目錄下做同樣的事情卻什麼也沒有完成。它拋出這個投訴:
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 Studio中似乎並沒有被發現有任何我的問題依賴。請問有人能指點我的測試方向嗎?我想這是一個簡單的終端命令或插件的自述文件中沒有提到的東西。乾杯!
編輯:
這是我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: 除了這個事實,我發出了錯誤的命令(如拉溫德拉的答覆中指出),我還沒有意識到我的搖籃的版本太新(作爲傑克的評論指出)。
RE:無法確定任務的依賴關係 ':MyApp的:testDebug'。 Gradle 1.7尚未支持。 –
...這是你如何使包裝使用1.6:http://www.gradle.org/docs/current/userguide/gradle_wrapper.html,然後運行gradle這個包裝(不./gradlew包裝) – CjS
這個問題是[跟蹤在github](https://github.com/JakeWharton/gradle-android-test-plugin/issues/3)和一個鎖定被很快外出。在閱讀本文時,它可能已經可用。 – gMale