JUnit-test schlägt fehl in Ant mit `<junit>` Aufgabe, sondern geht mit `<exec>`?

Ich bin die Automatisierung von meinen JUnit-tests in mein Ant-build. Aber, meine einfache test geht erst beim starten aus der IDE und commandline, scheitert jedoch mit Ant - <junit> Aufgabe. Wenn ich es aus der Kommandozeile (ich bin technisch mit der Ant <exec> Aufgabe) das Ergebnis ist:

clean:

compile_tests:
    [javac] Compiling 2 source files to C:\MY_TEMP

junit_exec:
     [exec] JUnit version 4.10
     [exec] .
     [exec] Time: 0.004
     [exec]
     [exec] OK (1 test)
     [exec]

BUILD SUCCESSFUL
Total time: 1 second

aber wenn ich den <junit> Aufgabe:

Buildfile: C:\MY_TEMP\build.xml

clean:

compile_tests:
    [javac] Compiling 2 source files to C:\MY_TEMP

junit_ant:
     [echo] junit_ant started
    [junit] Test SimpleTest FAILED

BUILD SUCCESSFUL
Total time: 0 seconds

Den Inhalt MY_TEMP sind junit-4.10.jar, SimpleTest.java, und build.xml.

Habe ich kopiert junit-4.10.jar zu den %ANT_HOME%\lib Ordner wie schlagen von der Ant junit-task-Dokumentation. Es hatte schon beide ant-junit.jar und ant-junit4.jar.

Meine Java-version 1.6.0_26.

Mein test:

//YES, this is the default package
import org.junit.*;

public class SimpleTest {

    @Test
    public void mySimpleTest(){
        Assert.assertEquals(  2,  1 + 1  );
    }

}

Und mein Ant-file - (build.xml ), ist:

<?xml version="1.0"?>
<project name="regression_tests" basedir=".">

    <target name="clean">
        <delete>
            <fileset dir="." includes="*.class" />
        </delete>
    </target>

    <target name="compile_tests" depends="clean">
            <javac srcdir="." destdir="." source="1.6" target="1.6" includeantruntime="false" >
            <classpath>
                <pathelement location="./junit-4.10.jar" />
            </classpath>
        </javac>
    </target>

    <target name="junit_ant" depends="compile_tests" >
        <echo message="junit_ant started" />

        <junit>
            <test name="SimpleTest" />
        </junit>
    </target>

    <target name="junit_exec" depends="compile_tests">
        <exec executable="java" dir="." >
            <arg value="-classpath" />
            <arg value=".;junit-4.10.jar" />
            <arg value="org.junit.runner.JUnitCore" />
            <arg value="SimpleTest" />
        </exec>
    </target>

</project>
  • Was ist der test-Fehler?
  • Wie würde ich das herausfinden? Auch mit der -v option gegeben Ant es nicht alles drucken über das scheitern. Ausgehend von den test selbst, die nicht Versagen können, ich denke, ich muss etwas fehlen Konfiguration-Weise.
  • Blick in den Prüfbericht?
  • Wo würde man finden, dass? Ich gehe davon aus, dass es eine option wäre aktiviert werden? Ich habe versucht, sowohl enableTestListenerEvents="true" und logfailedtests="yes". Ich bin es gewohnt, Maven die surefire-reports.
  • Nevermind, gefunden, wie zu machen Berichte von hier: junit.sourceforge.net/doc/faq/faq.htm#running_6
  • Sie würde übergeben müssen es in Ihrem junit_exec Ziel, aber ew-es gibt eine junit task, der wickelt alles für Sie. - Edit-Ah, ja, mich zu schlagen 🙂
  • Es war java.lang.ClassNotFoundException: SimpleTest also ich habe <classpath location="." /> zu den <junit> tag. Wenn Sie buchen möchten, die als eine Antwort wäre ich glücklich, es zu akzeptieren! 🙂 Wenn alles, was das wirkliche problem scheint zu sein, dass ich nicht sehen, die Fehler, da es schien ziemlich offensichtlich, sobald ich es Tat.
  • Es ist immer offensichtlich, wenn Sie es sehen 😉 Aber ja, wenn es in eine Richtung funktioniert und nicht die anderen, es ist fast immer classpath-Verwandte :/ Ah, Java 🙂

InformationsquelleAutor Sled | 2011-10-21
Schreibe einen Kommentar