2010-05-14 15 views
5

पर JUnit टेस्ट चल रहा है यहाँ मैं क्या एंड्रॉयड 1.6 पर चलने के लिए कोशिश कर रहा हूँ हैVerifyError जब एंड्रॉयड 1.6

package com.healthlogger.test; 

public class RecordTest extends AndroidTestCase 
{ 

    /** 
    * Ensures that the constructor will not take a null data tag. 
    */ 
    @Test(expected=AssertionFailedError.class) 
    public void testNullDataTagInConstructor() 
    { 
     Record r = new Record(null, Calendar.getInstance(), "Data"); 
     fail("Failed to catch null data tag."); 
    } 
} 

मुख्य परियोजना HealthLogger है। ये एक अलग परीक्षण परियोजना (हेल्थलॉगरटेस्ट) से चलाए जाते हैं। हेल्थलॉगर और jUnit4 हेल्थलॉगरटेस्ट के निर्माण पथ में हैं। jUnit4 हेल्थलॉगर के निर्माण पथ में भी है। कक्षा "रिकॉर्ड" com.healthlogger में स्थित है।

"@ टेस्ट ..." और "रिकॉर्ड आर ..." पंक्तियों पर टिप्पणी करते हुए इस परीक्षण को चलाने की अनुमति मिलती है। जब वे असम्बद्ध होते हैं, तो मुझे VerifyError अपवाद मिलता है। मैं इस से गंभीर रूप से अवरुद्ध हूं; ऐसा क्यों हो रहा है?


संपादित करें: दुर्घटना के बाद logcat से कुछ जानकारी:

E/AndroidRuntime(3723): Uncaught handler: thread main exiting due to uncaught exception      
    E/AndroidRuntime(3723): java.lang.VerifyError: com.healthlogger.test.RecordTest  E/AndroidRuntime(3723): at java.lang.Class.getDeclaredConstructors(Native Method) 
    E/AndroidRuntime(3723): at java.lang.Class.getConstructors(Class.java:507) E/AndroidRuntime(3723): at android.test.suitebuilder.TestGrouping$TestCasePredicate.hasValidConstructor(TestGrouping.java:226) 

E/AndroidRuntime(3723): at android.test.suitebuilder.TestGrouping$TestCasePredicate.apply(TestGrouping.java:215) 

E/AndroidRuntime(3723): at android.test.suitebuilder.TestGrouping$TestCasePredicate.apply(TestGrouping.java:211) 

E/AndroidRuntime(3723):  at android.test.suitebuilder.TestGrouping.select(TestGrouping.java:170) E/AndroidRuntime(3723):  at android.test.suitebuilder.TestGrouping.selectTestClasses(TestGrouping.java:160) 

E/AndroidRuntime(3723):  at android.test.suitebuilder.TestGrouping.testCaseClassesInPackage(TestGrouping.java:154) 

E/AndroidRuntime(3723):  at android.test.suitebuilder.TestGrouping.addPackagesRecursive(TestGrouping.java:115) 

E/AndroidRuntime(3723):  at android.test.suitebuilder.TestSuiteBuilder.includePackages(TestSuiteBuilder.java:103) 

E/AndroidRuntime(3723):  at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:321) 

E/AndroidRuntime(3723):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3848) 

E/AndroidRuntime(3723):  at android.app.ActivityThread.access$2800(ActivityThread.java:116) E/AndroidRuntime(3723):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) 

E/AndroidRuntime(3723): at android.os.Handler.dispatchMessage(Handler.java:99) 

E/AndroidRuntime(3723): at android.os.Looper.loop(Looper.java:123) E/AndroidRuntime(3723):  at android.app.ActivityThread.main(ActivityThread.java:4203) 

E/AndroidRuntime(3723): at java.lang.reflect.Method.invokeNative(Native Method) 

E/AndroidRuntime(3723): at java.lang.reflect.Method.invoke(Method.java:521) 

E/AndroidRuntime(3723): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 

E/AndroidRuntime(3723):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) E/AndroidRuntime(3723):  at dalvik.system.NativeStart.main(Native Method) 
+0

[एंड्रॉइड जुनीट टेस्ट java.lang.VerifyError] में विफल होने के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5437595/android-junit-tests-failing-with-java-lang-verifyerror) –

+0

आप शायद सही हो दुर्भाग्यवश, अब मैं इस समस्या का समाधान सत्यापित करने का प्रयास नहीं कर सकता - मैं 1.6 डिवाइस के बिना हूं। यदि आपको लगता है कि दोनों समान हैं तो कृपया इस प्रश्न को हटाने/बंद करने के लिए स्वतंत्र महसूस करें। –

+0

क्या यह एमुलेटर में होता है? यदि ऐसा है, तो आप इसे 1.6 एमुलेटर पर आज़मा सकते हैं। –

उत्तर

0

यह तब हो सकता है जब आप एक परीक्षण परियोजना के लिए सभी निर्भरता निर्यात करने के लिए भूल जाते हैं।

ग्रहण में, अपनी परियोजनाओं (मुख्य परियोजना और परीक्षण परियोजना दोनों) के लिए जावा बिल्ड पथ गुणों पर जाएं। संगठित/निर्यात टैब पर जाएं और सुनिश्चित करें कि आप सभी निर्भरताओं की जांच करें (किसी भी जेआरई या क्लासपाथ कंटेनर को छोड़कर, सभी को चुनें)।

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