7

मैं हाल ही में गूगल से नवीनतम उपकरण स्थापित मेरी एंड्रॉयड परियोजना के लिए:एंड्रॉइड बिल्ड टूल्स 1.1.0, यूनिट टेस्ट फ़ोल्डर?

buildscript { 
     repositories { 
     jcenter() 
     mavenCentral() 
     } 
     dependencies { 
     classpath 'com.android.tools.build:gradle:1.1.0' 
     } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_8 
     targetCompatibility JavaVersion.VERSION_1_8 
    } 
    defaultConfig { 
     applicationId "com.xxx" 
     minSdkVersion 10 
     targetSdkVersion 21 
     versionCode 200 
     versionName "2.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    signingConfigs { 
     debug { 
      ... 
     } 
     release { 
      ... 
     } 
    } 
    buildTypes { 
     release { 
      ... 
     } 
     debug { 
      ... 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 

    // ---- Tests with robolectric 
    testCompile 'com.google.guava:guava:14.0.1' 
    testCompile 'junit:junit:4.+' 
    testCompile 'org.robolectric:robolectric:2.4' 
    testCompile 'org.mockito:mockito-all:2.0.2-beta' 

    // ---- Tests with Espresso 
    androidTestCompile ('com.android.support.test.espresso:espresso-core:2.0') { 
     exclude module: 'hamcrest-core' 
    } 
    androidTestCompile 'org.hamcrest:hamcrest-core:1.1' 
    androidTestCompile 'org.hamcrest:hamcrest-integration:1.1' 
    androidTestCompile 'org.hamcrest:hamcrest-library:1.1' 
    androidTestCompile ('com.android.support.test:testing-support-lib:0.1') { 
     exclude module: 'hamcrest-core' 
    } 
    androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.0' 
    androidTestCompile('junit:junit-dep:4.10') { 
     exclude module: 'hamcrest-core' 
    } 
} 

कहाँ है कि इससे पहले कि मैं JVM में मेरी robolectric परीक्षण चलाने के लिए com.github.jcandksolutions.gradle:android-unit-test:2.1.1 का उपयोग करते थे। गूगल के रूप में अपने नए निर्माण उपकरणों के लिए कहते हैं: "नए स्रोत फ़ोल्डर्स इकाई परीक्षण के रूप में पहचाना: आदि src/परीक्षण/जावा, src/testDebug/जावा, src/testMyFlavor/जावा" लेकिन जैसा कि आप नीचे देख सकते हैं, मेरा परीक्षण फ़ोल्डर स्रोत फ़ोल्डर के रूप में पहचाना नहीं गया है।

enter image description here

मैं यहाँ क्या याद कर रहा हूँ: यह नए निर्माण उपकरणों के साथ कोई और अधिक com.github.jcandksolutions.gradle:android-unit-test:2.1.1 के साथ काम किया है, लेकिन? धन्यवाद

उत्तर

6

मैं समाधान आईडीई के बाएं कोने में टेस्ट कलाकृतियों के बीच स्विच करने के लिए है जिसमें पाया गया। इस स्क्रीन केवल "एंड्रॉयड इंस्ट्रूमेंटेशन टेस्ट" पर क्योंकि मैं अपने एंड्रॉयड उपकरणों डाउनग्रेड लेकिन उपकरण 1.1.0+ आप परीक्षण के विभिन्न प्रकार देखना चाहिए आईडीई स्रोत फ़ोल्डर के रूप में उन्हें पहचान पाने के लिए के साथ उपलब्ध है।

enter image description here

+0

सही जवाब है .. – StefMa

3

बस प्रयोगात्मक इकाई परीक्षण को सक्षम और इकाई परीक्षण करने के लिए परीक्षण विरूपण साक्ष्य स्विच करने के लिए http://tools.android.com/tech-docs/unit-testing-support का पालन करें। तो आपका यूनिट परीक्षण फ़ोल्डर पहचाना जाएगा।

आप और अधिक समस्याएं हैं, जब शायद यह मदद मिलेगी http://nenick-android.blogspot.de/2015/02/android-studio-110-beta-4-and.html

+0

शोध करे संसाधनों के लिए धन्यवाद, लेकिन मैं अभी भी अपने परीक्षण काम नहीं कर रहा हो सकता है। मैं पता लगा कि कैसे "निशान" IDE में स्रोत फ़ोल्डर के रूप में परीक्षण फ़ोल्डर लेकिन जब मैं चलाने के लिए: './gradlew स्वच्छ test' मैं इस तरह त्रुटियों मिलती है:' त्रुटि: प्रतीक उपयोगकर्ता उपयोगकर्ता नहीं मिल सकता है = UserBuilder.fromJSON (शून्य) ; '। जहां मेरे परीक्षण वर्ग मेरे मुख्य फ़ोल्डर से संकुल नहीं ढूंढ सकते हैं। –

+0

क्या आप पूर्ण त्रुटि से अपडेट कर सकते हैं? क्या आपने अपने परीक्षणों में '@ Config' जोड़ा है या कस्टम धावक लागू किया है? –

+0

मैंने हाँ किया था। मैं इसे –

4

मैं दूसरे दिन एक समान समस्या थी, सिवाय इसके कि मैं Robolectric एंड्रॉयड स्टूडियो में ठीक परीक्षण चलाने के लिए सक्षम था, लेकिन कमांड लाइन से काम नहीं किया । मेरे लिए क्या काम किया गया निम्नलिखित है।

1) ./gradlew clean assembleDebug test (सिर्फ clean test)

(अब, यह मिलेगा के बजाय मुख्य संकुल से स्रोत भागो, लेकिन मैं this problem बजाय मिलेगा)

2) build.gradle फाइल करने के लिए इस जोड़ी : android.sourceSets.test.java.srcDirs += "build/generated/source/r/debug"

+0

काम नहीं कर प्राप्त कर सकते हैं अब मैं इस 'com.xxx.network.requests.AuthenticateTest> callbackForNewUser तरह त्रुटियों विफल java.lang.NullPointerException' मिलता है। मुझे लगता है कि मैं अभी के लिए पुराने एंड्रॉइड-टेस्ट-प्लगइन से चिपके रहूंगा और ग्रेडल बिल्ड टूल्स के एक और स्थिर संस्करण की प्रतीक्षा करूंगा। –

0

यदि यह किसी भी उपयोग मैं एक बॉयलर प्लेट परियोजना वेरिएंट निर्माण स्विचन के उपयोग के द्वारा यूनिट परीक्षण और एस्प्रेसो परीक्षण के उपयोग के लिए अनुमति देता है की स्थापना की है। आपको इसके साथ किसी तीसरे पक्ष के प्लगइन के उपयोग की आवश्यकता नहीं होगी।

https://github.com/hitherejoe/Android-Boilerplate

संबंधित मुद्दे