code coverage - Testng, एम्मा, कोबर्टुरा, कवरेज और जेडीके 7 परिणाम क्लासफॉर्मेट एरर और VerifyError में




code-coverage java-7 (4)

मैंने नवीनतम जेडीके 7 पर स्विच किया है और मुझे बाइट कोड पर testng यूनिट परीक्षण चलाने में समस्याएं आ रही हैं जो एम्मा कवरेज टूल द्वारा झुका हुआ है। मेरे परीक्षण मामलों में से कोई भी सही ढंग से नहीं चलाया जाता है और उनमें से अधिकांश के लिए मुझे ऐसी त्रुटियां मिल रही हैं।

 java.lang.ClassFormatError: Illegal local variable table length 10 in method measurement.meter.AbstractSerialPortMeter.<init>(Lmeasurement/meter/SerialPort;)V at measurement.meter.Elc3133aTest.setUp(Elc3133aTest.java:42)

मुझे यहां एक आलेख मिला है जेएसआर 2 9 2 गुडनेस फास्ट कोड कवरेज टूल कम 10k , जो कह रहा है कि "जेएसआर 2 9 2 ने एक नया बाइटकोड निर्देश invokedynamic पेश किया है, लेकिन कई नए प्रकार के निरंतर पूल स्थिरांक भी हैं। जिसका अर्थ यह है कि बाइटकोड जैसे पार्स एएसएम, बीसीईएल, फाइंडबग या ईएमएमए को जावा 7 संगत होने के लिए अद्यतन करने की आवश्यकता होगी। "

एमा होमपेज की जांच की, लेकिन ऐसा लगता है कि इसे लंबे समय तक अपडेट नहीं किया गया है।

क्या किसी ने भी इसी तरह की समस्या हल की है?

मैंने कोबर्टुरा के साथ भी कोशिश की है। यह थोड़ा बेहतर काम करने लगता है लेकिन मुझे VerifyError प्रकार के बहुत सारे अपवाद VerifyError

java.lang.VerifyError: Expecting a stackmap frame at branch target 85 in method measurement.meter.AbstractSerialPortMeter.close()V at offset 26
at measurement.meter.AbstractSerialPortMeterTest.setUp(AbstractSerialPortMeterTest.java:27)

IntelliJ IDEA 11 का आंतरिक कवरेज टूल मेरे प्रोजेक्ट के लिए प्रयास करता है, जिसमें संसाधनों के साथ-साथ हीरा ऑपरेटर का उपयोग किया जाता है लेकिन हम invokedynamic का उपयोग नहीं कर रहे हैं। मुझे लगता है कि कवरेज टूल समुदाय संस्करण में शामिल नहीं है, केवल अंतिम।

मैंने अभी तक जैकोको की कोशिश नहीं की है - यह वह जगह है जहां एम्मा के पूर्व डेवलपर्स का अधिकांश हिस्सा चला गया है।


एम्मा काम करती है अगर आप नई भाषा सुविधाओं का उपयोग नहीं करते हैं (जैसे संसाधनों के साथ प्रयास करें)। आप नए पुस्तकालयों (पथ, निर्देशिकास्ट्रीम, आदि) का उपयोग कर जावा 7 का उपयोग कर सकते हैं। मुझे पता है कि यह आपकी समस्या का समाधान नहीं होगा, लेकिन अगर आप केवल "जेडीके 7 कैसे करता है" जांचना चाहते हैं तो यह काम कर सकता है ...


मुझे यह समस्या थी। ग्रहण बाजार का उपयोग कर 2.0.1.201112281951 में अपग्रेड करने के लिए मेरे लिए काम किया।


मेरी भी यही समस्या थी। सौभाग्य से बीटा जेडीके 7 के साथ काम करता है।
साइट लिंक अपडेट करें: http://download.eclipselab.org/eclemma/beta/2.0.0/update/
इस लिंक का उपयोग ग्रहण में किया जाना चाहिए:

Help -> Install new software... -> Add...


आराम आसान होना चाहिए;)