Jacoco code coverage for android application using mockito library -


मेरा एंड्रॉइड एप्लिकेशन निम्न कॉन्फ़िग का उपयोग करता है:

  • ग्रेडल - 0.12। +

Build.gradle फ़ाइल की सामग्री

  बिल्डस्क्रिप्ट {repositories {mavenCentral ()} निर्भरता {classpath 'com.android.tools.build:gradlects.12.+' }} {खजाने mavenLocal () mavenCentral ()} लागू प्लगइन: 'com.android.library' प्लगइन लागू होते हैं: "jacoco" निर्भरता {संकलन 'कॉमन्स-संग्रह: कॉमन्स-संग्रह: 3.2.1' संकलन 'org.slf4j: slf4j -android: 1.6.1-RC1 '// निर्भरता इंजेक्शन संकलन (' org.roboguice: roboguice: 2.0 ') {मॉड्यूल को बाहर:' cglib 'मॉड्यूल को बाहर:' aopalliance 'मॉड्यूल को बाहर:' guice '} फ़ाइलें संकलन (' libs /guice-3.0-no_aop.jar ') संकलन' javax.inject: javax.inject: 1 '/ * * परीक्षण निर्भरताएं * / AndroidTestCompile 'com.google.dexmaker: dexmaker-mockito: 1.0'} एंड्रॉइड {buildToolsVersion "20.0" compileSdkVersion 19 buildTypes {debug {runProguard झूठी परीक्षण क्वैव्वेशेंस सक्षम सच}} compileOptions {sourceCompatibility JavaVersion.VERSION_1_7 लक्ष्य अनुरूपता JavaVersion.VERSION_1_7} defaultConfig {minSdkVersion 8 TargetSdkVersion 19 versionCode 100 versionName "1.0.0"} / * * डुप्लिकेट फ़ाइलों के बारे में Android Gradle प्लगइन में पैकेजिंग बग के लिए वैकल्पिक समाधान * / PackagingOptions {को बाहर 'META-INF / license.txt' को बाहर 'META-INF / NOTICE.txt' को बाहर 'license.txt'}}  

मेरे सभी परीक्षण सफलतापूर्वक जब संपत्ति चलाने TestCoverageEnabled गलत पर सेट है इसे सही पर सेट करने पर, परीक्षण चलाने के दौरान निम्नलिखित अपवाद फेंक दिया जाता है

  द्वारा किया गया: java.lang.VerifyError: *** कुछ वर्ग *** पर Dalvik.system.DexFile.defineClass dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:51) पर dalvik.system.DexPathList.findClass (DexPathList.java:313) पर dalvik.system.DexFile.loadClassBinaryName (DexFile.java:211) पर (मूल निवासी विधि) पर Java.lang.ClassLoader.loadClass (ClassLoader.java )01 java.lang.ClassLoader.loadClass पर (ClassLoader.java:461)  

त्रुटि लाइन पर शुरू होती है जब mocks initialised हैं

क्या किसी ने एंड्रॉइड एप्लिकेशन के लिए कोड कवरेज मैट्रिक्स उत्पन्न करने में कामयाब किया है जो परीक्षण के लिए मॉकिटि लाइब्रेरी का उपयोग करता है?

इस समस्या का समझाते हुए निम्नलिखित लिंक बहुत उपयोगी था:

मैंने बाद में स्रोत और लक्ष्य संगतता सेटिंग को जावा 1.5 पर स्विच किया और मैं यूनिट और यूआई को चलाने में सक्षम था टी जेस्ट (जो मॉकिटो और एस्प्रेसो दोनों का इस्तेमाल करते थे) और जैकोओ का उपयोग करते हुए कोड कवरेज रिपोर्ट उत्पन्न करते हैं।

अगर मुझे जावा 1.7 सेटिंग्स को कायम रखना था, तो परीक्षा का परीक्षण किया जा रहा वर्ग में निजी तरीकों का दायरा बदलना होता। या तो संरक्षित या सार्वजनिक क्षेत्र के लिए इसके बाद मुझे कोड कवरेज रिपोर्ट तैयार करने की इजाजत देनी होगी (इस लिंक पर पहचाने जाने वाले मुद्दे पर काबू पाने के लिए)।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -