2015-08-31 5 views
7

मेरे पास एक प्रोजेक्ट है जो इकाई परीक्षण उद्देश्य के लिए रोबोलेक्ट्रिक का उपयोग कर रहा है। यह प्रोजेक्ट Robolectric 3.0 का उपयोग करता है और वर्चुअल मशीन विकल्पों में -ea और -noverify विकल्प जोड़ने की आवश्यकता है।एंड्रॉइड में जेवीएम विकल्प जब रन ग्रेलेव परीक्षण

एंड्रॉइड स्टूडियो में, मैंने Run > Edit Configurations... में नई जुनीट कॉन्फ़िगरेशन बनाया और फिर VM Options से -ea -noverify पर सेट किया। इस तरह से मैं अपनी यूनिट टेस्ट चलाने की सफलता करता हूं। यह मेरे कॉन्फ़िगरेशन के बारे में छवि है, Here

हालांकि, निरंतर तैनाती के लिए, मुझे कमांड लाइन के साथ रन यूनिट परीक्षण की आवश्यकता है। इसलिए मैं इकाई परीक्षण चलाने के लिए ./gradlew test का उपयोग करता हूं। मैं org.gradle.jvmargs=-ea -noverifygradle.properties फ़ाइल भी जोड़ता हूं। दुर्भाग्य से, यह काम नहीं करता है। मैं इकाई परीक्षण चला सकता हूं लेकिन मुझे java.lang.VerifyError मिला और मुझे लगता है कि gradle.properties लोड नहीं था।

तो, मेरा सवाल है, gradle.properties लोड कैसे करें या क्या आप मेरे वीएम विकल्प समस्या को ठीक करने के किसी भी तरीके से जानते हैं?

उत्तर

7

मैंने पाया हम ऐप्लिकेशन की इस समस्या को

tasks.whenTaskAdded { theTask -> 
    def taskName = theTask.name.toString() 
    if ("testDevDebug".toString().equals(taskName)) { 
     theTask.jvmArgs('-ea', '-noverify') 
    } 
} 

DevDebug अपने निर्माण संस्करण है हल करने के लिए build.gradle इस ब्लॉक जोड़ सकते हैं।

+0

यह नवीनतम एंड्रॉइड स्टूडियो 2.3.3 –

0

हो सकता है कि इस

./gradlew -Dorg.gradle.jvmargs="-ea -noverify" test 
+0

मैंने पहले इसे आजमाया लेकिन अभी भी java.lang.verifyError मिला। –

16

यह पहले से ही उत्तर दिया जाता है, लेकिन यह एक आसान समाधान हो सकता है:

आपके आवेदन मॉड्यूल 'एंड्रॉयड बंद में build.gradle फ़ाइल में, इस जोड़ें।

android { 
    .... 

    testOptions { 
    unitTests.all { 
     jvmArgs '-noverify' 
    } 
    } 
} 
+1

पर काम करता है यह एक बहुत साफ है। "gradle way" –

+3

क्या किसी को एंड्रॉइड स्टूडियो 2.3 के साथ काम करने का कोई अनुभव है? मैं अभी भी इस जगह के साथ भी परीक्षण दुर्घटना देख रहा हूँ। –

+0

यह 2.3.3 पर काम नहीं करता है। स्वीकृत उत्तर महान काम करता है –

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