2016-11-16 1 views
0

Beim Ausführen von Junit-4.12-Testfällen über ant -d mit aktivierter XML-Berichterstellung wird meine Testsuite nicht ausgeführt.Warum findet "ant junit" die Testsuite nicht?

Dies ist Teil der 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> 

Vielen Dank im Voraus!

Gerrit

PS Das ist mein JUnit Testsuite Test/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"); 
    } 

} 
+0

Dies ist die Ausgabe HTML-Code der junitReport ant Ziel: – Leder

+0

'Warnung \t Failure \t Keine in tests.AllTests junit.framework.AssertionFailedError gefunden Tests: Keine Tests gefunden in tests.AllTests' – Leder

+0

oder 'AllTests (falscher Name: Test/AllTests) java.lang.NoClassDefFoundError: AllTests (falscher Name: Test/AllTests) \t bei java.lang.ClassLoader.defineClass1 (native Methode) \t auf Java .lang.ClassLoader.defineClass (ClassLoader.java:763) \t bei java.lang.ClassLoader.loadClass (ClassLoader.java:357) \t bei java.lang.Class.forName0 (Native Methode) \t bei java.lang.Class.forName (Class.java:348) ' – Leder

Antwort

0

ich in srcdir + package name = projekt dir kompilieren musste statt srcdir = projekt dir

und Test in dir + package name = test dir statt dir = test dir

S o dir und srcdir gleich beide zu . in build.xml

Verwandte Themen