में एक और java.lang.ClassNotFoundException मैं समझ नहीं क्यों मैं अपने चींटी build.xml फ़ाइल से यह अपवाद हो रही है। मैंने चेक किया और सबकुछ कक्षा में है। यह इतना जटिल क्यों होना चाहिए ?!चींटी के JUnit कार्य
मैंने पहले भी चींटी में समस्या आई है और यह ऐसा लगता है हमेशा classpath से संबंधित कुछ है। मैं junit.jar पर दोनों तरीकों का उपयोग कर रहा हूं: ग्रहण के भीतर: विंडो-> वरीयताएँ-> चींटी-> रनटाइम-> चींटी होम-> बाहरी जार जोड़ें, और build.xml स्क्रिप्ट के भीतर भी। इस बार चींटी जूनिट कार्य में मेरी टेस्ट क्लास का पता लगाने में सक्षम नहीं है। क्या इस वर्ग को इंगित करने के तरीके में कुछ गड़बड़ है?
<target name="init">
<property name="sourceDir" value="src"/>
<property name="outputDir" value="build" />
<property name="junitLocation" value="C:\...\org.junit4_4.3.1\junit.jar" />
</target>
<target name="clean" depends="init">
<delete dir="${outputDir}" />
</target>
<target name="prepare" depends="clean">
<mkdir dir="${outputDir}" />
</target>
<target name="compile" depends="prepare">
<javac srcdir="${sourceDir}" destdir="${outputDir}" classpath="${junitLocation}"/>
</target>
<path id="classpath">
<pathelement location="${outputDir}" />
<pathelement location="${junitLocation}" />
</path>
<target name="testApplication" depends="compile">
<echo>Running the junit tests...</echo>
<junit fork="yes" haltonfailure="yes">
<test name="my.package.MyTest" />
<formatter type="plain" usefile="false" />
<classpath refid="classpath" />
</junit>
</target>
मैं हमेशा हो रही है:
[junit] Testsuite: my.package.MyTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Caused an ERROR
[junit] my.package.MyTest
[junit] java.lang.ClassNotFoundException: my.package.MyTest
[junit] at java.net.URLClassLoader$1.run(Unknown Source)
[junit] at java.security.AccessController.doPrivileged(Native Method)
[junit] at java.net.URLClassLoader.findClass(Unknown Source)
[junit] at java.lang.ClassLoader.loadClass(Unknown Source)
[junit] at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[junit] at java.lang.ClassLoader.loadClass(Unknown Source)
[junit] at java.lang.ClassLoader.loadClassInternal(Unknown Source)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Unknown Source)
BUILD FAILED
जाहिर है, चींटी junit.jar पाता है और परीक्षण शुरू करने के लिए प्रयास करता है, लेकिन यह अपने परीक्षण वर्ग क्यों नहीं मिल सकती है? मैं संकलित परीक्षण वर्ग के साथ फ़ोल्डर को इंगित करता हूं। तो मुझे पता है कि जूनिट कम से कम चींटी के कक्षा में है, लेकिन क्लास नॉटफाउंड मुझे पहेली करता है।
शायद कोई विचार? बहुत धन्यवाद!
बस जांच - आप देख सकते हैं ./build/my/package/MyTest.class? आप सुनिश्चित हैं कि यह ठीक से बनाता है? – duffymo
हाँ, मैं संकलित वर्ग को सही निर्देशिका में देख सकता हूं, कोई समस्या नहीं – denchr