Mein Google-Projekt verwendet Junit 5 und ich versuche, die Testberichte auf meinem Build-Server erscheinen zu lassen. Der XML-Bericht sieht grundsätzlich gut aus - er enthält alle Testklassen und -methoden, aber es fehlt stdout/stderr, die in Testmethoden gedruckt werden. Es gibt nur einige CDATA mit Testmetadaten.Wie kann ich stdout/stderr im junit 5 Gradle Testbericht erfassen?
@Test
void testToString() {
System.out.println("Hello world");
...
}
XML-Report:
<testcase name="testToString()" classname="com.my.company.PairsTest" time="0.008">
<system-out><![CDATA[
unique-id: [engine:junit-jupiter]/[class:com.my.company.PairsTest]/[method:testToString()]
display-name: testToString()
]]></system-out>
</testcase>
Gibt es eine Einstellung, die gradle Plugin zu sagen stdout/stderr zu erfassen? Ich schaute mich um http://junit.org/junit5/docs/current/user-guide/#running-tests-build, konnte aber keine finden.
Ich verwende org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3
und org.junit.jupiter:junit-jupiter-{api,engine}:5.0.0-M3
.
Ausgabe auf stdout/stderr wird derzeit nicht erfasst. Können Sie stattdessen den TestReporter verwenden? https://github.com/junit-team/junit5/blob/master/documentation/src/test/java/example/TestReporterDemo.java –
Die meisten von stdout/stderr werden durch den Code erzeugt, der geprüft wird, also tun sie nicht in der Lage sein, TestReporter zu verwenden. –
(Rückkehr zu früh) @MarcPhilipp wird es Pläne geben, die Aufnahme von stdout/stderr in junit zu unterstützen, oder sollte ich irgendwo einen Feature-Vorschlag oder eine PR einreichen? IMO die Ausgabe ist sehr nützlich für das Verständnis von Testfehlern auf CI-Servern, insb. wenn die Fehler lokal nicht reproduzierbar sind. –