3 Stimmen

Ist es möglich, dass Ant die fehlgeschlagenen Tests am Ende eines Builds auflistet?

Der folgende Ausschnitt aus einem anderen Thread funktioniert, um eine Nachricht auszugeben und zu scheitern, nachdem alle Unit-Tests ausgeführt wurden:

Ich sehe jedoch nicht, wie ich auch die NAMEN der fehlgeschlagenen Tests in junit/ant aufzeichnen und ausdrucken kann, nachdem sie alle durchgelaufen sind. Irgendwelche Gedanken dazu?

Ich glaube, andere würden eine solche Funktion extrem wichtig finden, daher gehe ich davon aus, dass es eine einfache Lösung gibt: Es ist ziemlich mühsam, unter Hunderten von fehlgeschlagenen Tests nach den Übeltätern zu suchen.

5voto

FailedDev Punkte 25987

Ja, das ist es. Versuchen Sie, die junitreport Aufgabe zu verwenden.

zum Beispiel

Versuchen Sie dieses Attribut auf Ihrer Junit-Aufgabe:

printsummary="yes" auf junit-Aufgabe

Ändern Sie Ihren Formatter zu:

und erstellen Sie dann die Berichte mit einem Ziel, das dies aufruft:

Für die Ausgabe:

1voto

bolinfest Punkte 3612

Ich bin sicher, dass viele von euch keine Lust haben, einen benutzerdefinierten Formatierer oder ähnliches zu erstellen. Ich auch nicht. Ich habe entdeckt, dass mit der folgenden Konfiguration Testergebnisse auf stdout und Fehlermeldungen auf stderr ausgegeben werden:

Das bedeutet, dass bei Ausführung des folgenden Befehls:

ant test > /dev/null

werden nur stderr mit den Testfehlern auf der Konsole angezeigt, was es viel einfacher macht zu sehen, was tatsächlich fehlgeschlagen ist.

0voto

jayunit100 Punkte 16978

Ich glaube, ich habe endlich eine vollständige Antwort auf diese Frage: Dank den Erkenntnissen von FailedDev.

Zuerst stellen Sie sicher, dass Sie die ${reports.dir} Variable festlegen, die das Verzeichnis für die Berichte angibt:

Dann, wenn wir mit dem Codieren der Testanweisungen für JUnit beginnen:

Dann erstellen Sie die erforderlichen Verzeichnisse für die Berichte:

Da wir einen Berichtsscanner haben, können wir haltonfailure auf nein setzen und nach (nach unten scrollen) fehlschlagen.

Jetzt kommt der Ratschlag aus anderen Fragen ins Spiel: Führen Sie den JUnit-Bericht aus.

Und schließlich können wir die XML-Dateien direkt nach Fehlern durchsuchen:

Da wir frühzeitig nicht versagen (sondern den gesamten Build durchführen, um zu sehen, welche Tests fehlgeschlagen sind, wenn überhaupt), müssen wir den Baumeister immer noch darüber informieren, dass wir versagt haben... Dies erfolgt über die fail-if-Syntax:

Wenn Sie meine Kommentare entfernen, sollte dieser Codeblock perfekt funktionieren, wenn Sie ihn in Ihr Build einfügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X