0
ant -dを介してjunit-4.12テストケースをXMLレポートを有効にして実行すると、testsuiteは実行されません。「ant junit」がテストスイートを見つけられないのはなぜですか
これは、build.xmlのの一部です:事前に
<target name="compile" depends="prepare">
<!-- kompilieren der Quelldateien -->
<javac includeantruntime="false" srcdir="${source.dir}" destdir="${build.dir}">
<classpath>
<path refid="classPath"/>
<pathelement location="${lib.dir}/junit-4.12.jar" />
<pathelement location="${lib.dir}/hamcrest-all-1.3.jar" />
<pathelement location="test" />
<pathelement location="." />
</classpath>
</javac>
<javac includeantruntime="false" srcdir="${tests.dir}" destdir="${build.dir}">
<classpath>
<path refid="classPath"/>
<pathelement location="${lib.dir}/junit-4.12.jar" />
<pathelement location="${lib.dir}/hamcrest-all-1.3.jar" />
<pathelement location="test" />
<pathelement location="." />
</classpath>
</javac>
<!-- kopieren der Dateien, die in den
resources-Verzeichnissen liegen -->
<copy todir="${build.dir}" overwrite="y">
<fileset dir="${source.dir}">
<!-- beruecksichtigt alle Verzeichnisse mit
Namen resources und alle .properties Dateien -->
<include name="**/resources/" />
<include name="**/*.properties" />
</fileset>
</copy>
</target>
<target name="junit" depends="compile">
<junit printsummary="yes" fork="false" haltonfailure="false"
failureproperty="tests.failed" showoutput="true" dir="${build.dir}">
<classpath>
<path refid="classPath" />
<pathelement location="${lib.dir}/junit-4.12.jar" />
<pathelement location="${lib.dir}/hamcrest-all-1.3.jar" />
<pathelement location="test" />
<pathelement location="." />
<!-- <path location="${source.dir}" /> -->
</classpath>
<formatter type="xml" />
<batchtest todir="${report.dir}">
<fileset dir="test">
<exclude name="**/GMRTest*.class" />
<include name="**/AllTests.class" />
</fileset>
</batchtest>
</junit>
</target>
ありがとう!
ヘリット
PSこれは私のJUnitテストスイートのテスト/ AllTests.javaです:
package test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
import projekt.GMR;
@RunWith(Suite.class)
@SuiteClasses({ GMRTest.class,
GMRTest2.class,
GMRTest3.class})
public class AllTests {
@BeforeClass
public static void setUpClass() {
System.out.println("Master setup");
}
@AfterClass public static void tearDownClass() {
System.out.println("Master tearDown");
}
}
で
.
両方等しいsrcdir
これはjunitReport Antターゲットの出力HTMLは:見つかりませんテスト: – Lederは '\t障害\t tests.AllTestsに junit.framework.AssertionFailedErrorが見つかりませテスト警告します java.lang.NoClassDefFoundErrorのは、Javaでjava.lang.ClassLoader.defineClass1で\t(ネイティブメソッド)\t:ALLTESTS(テスト/ ALLTESTS間違った名前):tests.AllTests' – Leder
または 'ALLTESTS(テスト/ ALLTESTS間違った名前)で.lang.ClassLoader.defineClass(ClassLoader.java:763)\t(java.lang.ClassLoader.loadClass)(ClassLoader.java:357)\t(java.lang.Class.forName0)(ネイティブメソッド)\t(java.lang.Class.forName)(Class.java:348) ' – Leder