मैं एंड्रॉइड स्टूडियो के साथ रोबोलेक्ट्रिक काम करना चाहता हूं और इस [प्रश्न] [2] के उत्तरों की समीक्षा करने के बाद [gradle-android-test-plugin] [1] का उपयोग करने का प्रयास कर रहा हूं [2] , लेकिन कोई भाग्य नहीं है।ग्रेडल-एंड्रॉइड-टेस्ट-प्लगइन का उपयोग कैसे करें
- मैं एक नया एंड्रॉयड प्रोजेक्ट बनाया है और यह MyApp नाम दिया है।
- मैंने रीडमे के "उपयोग" खंड में सभी निर्देशों का पालन किया।
- मैं अभी तक अपने नए प्रोजेक्ट में परीक्षण करने के लिए किसी भी कोड नहीं था, इसलिए मैं
gradle-android-test-plugin/example/src/test/java/com/example
से (`RobolectricGradleTestRunner` सहित) कक्षाओं की नकल की और
gradle-android-test-plugin/example/src/main/java/com/example
मेरे नए MyApp प्रोजेक्ट में संबंधित फ़ाइल पथों में निर्देशिकाएं।
मैंने कभी एंड्रॉइड के लिए यूनिट परीक्षण लागू नहीं किया है और मुझे नहीं पता कि आगे क्या करना है। प्लगइन की मूल निर्देशिका में मैंने ./gradlew install
सफलतापूर्वक भाग लिया, लेकिन मेरी नई परियोजना की मूल निर्देशिका में ऐसा करने से कुछ भी नहीं हुआ। यह इस शिकायत फेंकता है:
Task 'install' is ambiguous in root project 'MyApp'. Candidates are: 'installDebug', 'installTest'.
मैं Gradle से परिचित, Gradle पर ही एक पाठ्यपुस्तक पढ़ने का इतना कम नहीं कर रहा हूँ, मैं कैसे इस समस्या को हल करने के लिए यकीन नहीं है।
Could not determine the dependencies of task ':MyApp:testDebug'.
एंड्रॉयड स्टूडियो मेरी खोजने कोई समस्या आती जा करने के लिए प्रतीत नहीं होता:
अगर मैं AndroidManifest.xml
युक्त MyApp निर्देशिका दर्ज करें और निर्माण और परीक्षण चलाने के लिए ../gradlew clean check
कोशिश, मैं इस त्रुटि मिलती है निर्भरता। क्या कोई मुझे मेरे परीक्षण चलाने की दिशा में इंगित कर सकता है, कृपया? मुझे लगता है कि यह एक साधारण टर्मिनल कमांड या प्लगइन के रीडमे में उल्लेख नहीं किया गया था। चीयर्स!
संपादित करें:
यहाँ मेरी 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 की मेरी संस्करण भी नया था (के रूप में जेक की टिप्पणी बताते हैं) में विफल रहा है इसके अलावा।
उत्तर: कार्य की निर्भरता निर्धारित नहीं कर सका ': MyApp: testDebug'। Gradle 1.7 अभी तक समर्थित नहीं है। –
... और इस प्रकार आप रैपर का उपयोग 1.6 बनाते हैं: http://www.gradle.org/docs/current/userguide/gradle_wrapper.html, फिर रनल ग्रेपर रैपर (NOT ./gradlew wrapper) – CjS
यह समस्या है [github पर ट्रैक किया गया] (https://github.com/JakeWharton/gradle-android-test-plugin/issues/3) और एक फिक्स बहुत जल्द बाहर जा रहा है। जब तक आप इसे पढ़ रहे हों, यह शायद पहले से ही उपलब्ध है। MyApp:: ' 'कार्य की निर्भरता निर्धारित नहीं कर सका: testDebug'.' अगर मैं' कोशिश Gradle tests', तो यह है – gMale