java - lunar - आज के ग्रहण



जेट्य परीक्षण टेस्ट एक्लिप्स में नहीं चल रहा है (6)

यह एक्लिप्स एडिटर का एक स्नैपशॉट है। आप परीक्षण और JUnit टैब देख सकते हैं। जब मैं परीक्षण चलाने की कोशिश करता हूं, तो यह कहते हैं, टर्मिनेटेड।

किसी को पता है कि यहाँ क्या हो रहा है?

धन्यवाद


जब मुझे क्लासपाथ पर जूनिट के दो जार थे तो मुझे हुआ। एक जार सेलेनियम सर्वर स्टैंडअलोन के अंदर छिपा हुआ था। मैंने क्लासपाथ से अन्य जार को निकालकर इस मुद्दे को तय किया और रनटाइम को सेलेनियम सर्वर स्टैंडअलोन में जूनियर जार का इस्तेमाल करने की इजाजत दी। क्लास संघर्ष या जावा संस्करण चेतावनी के बारे में कंसोल में मुझे कोई संदेश नहीं मिला।


जब मैंने देखा कि कोई परीक्षण नहीं चला रहा तो मैंने कंसोल खोल दिया और निम्नलिखित त्रुटि देखी:

java.lang.UnsupportedClassVersionError: junit/framework/Test (Unsupported major.minor version 49.0)
   at java.lang.ClassLoader.defineClass0(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.access$100(Unknown Source)
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClassInternal(Unknown Source)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Unknown Source)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadTestLoaderClass(RemoteTestRunner.java:328)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:318)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:313)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:291)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:212)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

आगे की जांच के बाद मुझे एहसास हुआ कि मैं जिस जेनेट फ्रेमवर्क का उपयोग कर रहा था, उसे 1.6 जेआर के खिलाफ बनाया गया था और मैं 1.3 जेआर के खिलाफ अपने यूनिट टेस्ट का निर्माण कर रहा था। जब मैंने 1.6 के खिलाफ अपना यूनिट टेस्ट बनाया तो मेरी परीक्षाएं भाग गईं। वैकल्पिक रूप से, मुझे लगता है कि मैं 1.3 के मुकाबले (या पाया) जूनिट बना सकता था और मैं अच्छी स्थिति में हो सकता था। मैं कम से कम प्रतिरोध का रास्ता चला गया


निश्चित नहीं कि आपकी समस्या पहले से ही हल हो गई है।

मेरे पास इसी तरह की समस्या थी जो मैंने हल किया, जब मैंने Project -> Properties -> Java Compiler -> JDK Compliance settings

मेरे बीच 1.5 और 1.6 के बीच एक संघर्ष था। जब मैं वापस 1.5 (जो वर्तमान सक्रिय JRE था) में वापस लौट आया, मेरे ज्युनिट्स ने फिर से काम करना शुरू कर दिया।


मेरे मामले में मैं एक आंतरिक वर्ग का इस्तेमाल कर रहा था जो कि परीक्षण के लिए योग्य नहीं था। फिक्स यह था कि उस वर्ग को एक स्थिर आंतरिक वर्ग बनाना जैसे:

public class MyClass { //... class I wanted to test
}

यह आंतरिक वर्ग (यानी एक ही फाइल में) का प्रयोग MyClass के परीक्षण के लिए किया जाता है - लेकिन ग्रहण इसे नहीं मिला ... जब तक यह स्थिर न हो

public static class MyClassTest  { // ....
}

रन व्यवहार को मैन्युअल रूप से परिभाषित करें: राइट क्लिक करें -> के रूप में चलाएं -> कॉन्फ़िगरेशन चलाएं :

फिर आप टेस्ट केस के हर विवरण को परिभाषित कर सकते हैं: टेस्ट क्लास, टेस्ट मेथड्स, क्लास पथ, जूनिट वर्जन, जेवीएम तर्क, इत्यादि।


सुनिश्चित नहीं हैं कि यह मदद करता है, लेकिन मेरे मामले में मुझे अपने परियोजना कॉन्फ़िगरेशन मेवेन-> अद्यतन परियोजना कॉन्फ़िगरेशन को अपडेट करना था, आखिरकार जूनिट ने जवाब देना शुरू कर दिया था






junit