के साथ मैं थोड़ी देर के लिए इस पर अपने सिर खरोंच कर रहा हूं (एक गुच्छा गुगल गया, अन्य संबंधित एसओ पदों का कोई फायदा नहीं हुआ)। मेरे पास एक जावा प्रोग्राम है जिसमें दो फाइलें, Logic
और Tests
शामिल हैं। Tests
में लगभग सौ जुनीट परीक्षण शामिल हैं, और मुझे javac *.java
पर कॉल करके java org.junit.runner.JUnitCore Tests
पर कॉल करके परीक्षणों के साथ 100% सफलता दर प्राप्त हुई है। लेकिन जब मैं चलाने मेरी साथ build.xml
एक सरल ant -verbose test
, मैं निम्नलिखित आउटपुट प्राप्त (आदेश उत्पादन का पालन करने के बाद से मैं यह सब करने के लिए नया हूँ में):न्यू टू एंट, क्लास नॉटफाउंड अपवाद, जुनीट
[junit] Testsuite: Tests
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit]
[junit] Null Test: Caused an ERROR
[junit] Tests
[junit] java.lang.ClassNotFoundException: Tests
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:247)
[junit]
[junit]
[junit] Test Tests FAILED
BUILD SUCCESSFUL
मेरे build.xml
इस प्रकार है के रूप में:
<project name="ETL_Automation" default="test" basedir=".">
<path id="classpath.base">
</path>
<path id="classpath.test">
<pathelement location="${basedir}/mysql-connector-java-5.1.18-bin.jar" />
<pathelement location="${basedir}/junit-4.10.jar"/>
<path refid="classpath.base" />
</path>
<target name="compile">
<javac srcdir="${basedir}">
<classpath refid="classpath.test"/>
</javac>
</target>
<target name="test" depends="compile">
<junit fork="no">
<classpath refid="classpath.test" />
<formatter type="brief" usefile="false" />
<batchtest>
<fileset dir="${basedir}/" includes="Tests.class" />
</batchtest>
</junit>
</target>
<target name="clean" depends="test">
<delete>
<fileset dir="${basedir}" includes="*.class"/>
</delete>
</target>
निर्देशिका संरचना बहुत सरल है। Tests.java
, Logic.java
, junit-4.10.jar
, mysql-connector-java-5.1.18-bin.jar
, build.xml
, और एक संदर्भित .properties
फ़ाइल सभी एक ही फ़ोल्डर में हैं। जावा कोड बाहरी फाइलों का संदर्भ देता है लेकिन वे इस विशेष मुद्दे से संबंधित नहीं हैं। मुझे नहीं पता कि क्लासपाथ इस मुद्दे का कारण हो सकता है (क्योंकि मुझे पूरा विश्वास है कि मेरे पास वर्तमान में क्या काम नहीं है)।
धन्यवाद!