मैं चींटी के साथ कुछ जूनिट टेस्ट सूट निष्पादित करने की कोशिश कर रहा हूं।

यहाँ मेरी फ़ोल्डर संरचना है

  • बिन
  • उदारीकरण
  • एसआरसी
  • परीक्षण
  • Lihat yang ini:

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

परीक्षण फ़ोल्डर की पूरी संरचना (संकलित .class फ़ाइलें) बिन फ़ोल्डर में सहेजी जाती है जो इस तरह दिखती है।

बिन-टेस्ट-ऑलटेस्ट | -सुइट्स - SetupSuite.class - StartSuite.class

allTests फ़ोल्डर में वे परीक्षण होते हैं जिनका उपयोग सुइट्स फ़ोल्डर में सुइट्स में किया जाता है

मैं उन सुइट्स को शुरू करने की कोशिश कर रहा हूं लेकिन लगातार मुझे एक त्रुटि मिली है:

चींटी जूनिट java.lang.noclassdeffounderror गलत नाम

मुझे पूरा यकीन है कि कक्षा पथ में कुछ गड़बड़ है लेकिन मुझे नहीं पता कि क्या। मैंने बदलने की कोशिश की है

<test name="SetupSuite"/> प्रति

<test name="SetupSuite.class"/>

और मुझे एक और त्रुटि मिलती है:

java.lang.ClassNotFoundException: SetupSuite.class

यह रही मेरी बिल्ड.एक्सएमएल फाइल

<project name="MyTest" basedir=".">

    <!--Common properties -->
    <property name="src.dirname" value="src" />
    <property name="test.dirname" value="test" />
    <property name="lib.dirname" value="lib" />
    <property name="bin.dirname" value="bin" />
    <property name="src.encoding" value="utf8" />
    <property name="src.version" value="1.7" />
    <property environment="env" />

    <!-- Paths for MyTest -->
    <property name="MyTest.dir" value="${basedir}" />
    <property name="MyTest.src.dir" value="${MyTest.dir}\${src.dirname}" />
    <property name="MyTest.test.dir" value="${MyTest.dir}\${test.dirname}" />
    <property name="MyTest.dest.dir" value="${MyTest.dir}\${bin.dirname}" />
    <property name="MyTest.lib.dir" value="${MyTest.dir}\${lib.dirname}" />

    <path id="classpath">
        <pathelement location="${MyTest.lib.dir}\junit.jar" />
        <pathelement location="${MyTest.test.dir}\test\suites\" />
    </path>

    <target name="compile-MyTest-src" >
        <myjavac srcdir="${MyTest.src.dir}" destdir="${MyTest.dest.dir}" classpath="{MyTest.lib.dir}\junit.jar"/>
    </target>

    <target name="compile-MyTest-test" depends="compile-MyTest-src">
        <path id='libs'>
            <fileset dir= "${MyTest.lib.dir}\" includes="**/*.jar"/>
        </path>
    <myjavac srcdir="${MyTest.test.dir}\" destdir="${MyTest.dest.dir}" classpathref = 'libs'/>
    </target>

    <target name="execute-tests" depends="compile-MyTest-src,compile-MyTest-test">
        <junit printsummary="yes" haltonfailure="no" showoutput="yes">
        <formatter type = "brief" usefile = "false" />
        <classpath refid="classpath" />
            <test name="SetupSuite"/>
        </junit>
    </target>   

   <!-- General compiler settings -->
    <presetdef name="myjavac">
        <javac classpathref="classpath" debug="on" includeantruntime="false" encoding="${src.encoding}" source="${src.version}" target="${src.version}" />
    </presetdef>

</project>
0
PiiiTeeeR 26 जुलाई 2018, 09:51
कृपया हमें समस्याग्रस्त परीक्षण सूट दिखाएं।
 – 
Markus
26 जुलाई 2018, 10:14

2 जवाब

हल किया। मुझे हैमक्रेस्ट-कोर-1.3.jar फ़ाइल को क्लासपाथ में जोड़ना पड़ा

0
PiiiTeeeR 26 जुलाई 2018, 11:44

आपको अपने सेटअप सूट के परीक्षण नाम को पूरा नाम पर सेट करना होगा:

<test name="alltests.suites.SetupSuite"/>
0
Markus 26 जुलाई 2018, 13:14
इस सूट में पैकेज इस तरह दिखता है - पैकेज test.suites; मैंने के साथ प्रयास किया है और मुझे java.lang.ClassNotFoundException: SetupSuite.class मिलता है।
 – 
PiiiTeeeR
26 जुलाई 2018, 11:15