2014-05-01 7 views
24

मैं हाल ही में एंड्रॉयड Gradle प्लगइन के लिए नए Jacoco कोड कवरेज सुविधा की कोशिश की है, और दुर्भाग्य से यह बनाता है मेरी परीक्षण निम्न त्रुटि के साथ विफल:java.lang.VerifyError जब testCoverageEnabled = सच के साथ एंड्रॉयड परीक्षण चलाने के

java.lang.VerifyError: com/foo/bar/rest/SomeClass at 
com.foo.bar.test.rest.BaseTest.setUp(BaseTest.java:87) at 
android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) at 
android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) at 
android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) 
at 
android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584) 

buildTypes { 

     debug { 
      testCoverageEnabled = true 
     } 
... 

को भी यही समस्या का सामना करना पड़ा है:

मैं build.gradle में इन पंक्तियों का उपयोग कर कोड कवरेज सक्षम?

+2

आप डैगर का उपयोग कर रहे हैं? ऐसा लगता है कि जैकोको और डैगर द्वारा ऑफ़लाइन उपकरण के बीच एक असंगतता है। –

+1

हां, मैं डैगर का उपयोग कर रहा हूं। क्या इस मुद्दे के लिए कोई कामकाज है? – Egor

+1

इस समय नहीं। –

उत्तर

4

एक जवाब में @ ben75 की टिप्पणी टर्निंग:

यहाँ एक और धागा है कि इसी तरह इस मुद्दे को सूचीबद्ध करता है corresponding bugbuild-tools 21.0.0 साथ तय किया गया है। हालांकि, उस संस्करण ने एक और Windows-specific bug पेश किया, इसलिए आपको बिल्ड-टूल्स 21.0.2 का उपयोग करना चाहिए (भले ही वह संस्करण अभी तक revisions page पर दिखाई न दे)।

+1

धन्यवाद, यह सही उत्तर है: अपग्रेड 'एंड्रॉइड {buildToolsVersion" 21.1.2 "}}' –

+0

हां: '1 9 .1.0' से मेरे निर्माण उपकरण को '21.1.2' में अपग्रेड करना 'java.lang' के साथ मेरी टेस्ट विफलताओं को ठीक किया गया .VerifyError'। धन्यवाद @ कुछ-नोब-छात्र – DaddyMoe

1

मैं इस एक ही समस्या में चल रहा था, लेकिन इस समाधान पाया: इसलिए की तरह अपने Gradle फाइल करने के लिए -noverify जोड़ें:

testOptions { 
    unitTests { 
     all { 
      // configure the test JVM arguments 
      jvmArgs '-noverify' 
     } 
    } 
} 

स्रोत: https://github.com/robolectric/robolectric-gradle-plugin/issues/144

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