Spec. für JUnit XML Output [geschlossen]


84

Wo finde ich die Spezifikation der XML-Ausgabe von JUnit? Mein Ziel ist es, einen UnitTest ++ XML-Reporter zu schreiben, der eine JUnit-ähnliche Ausgabe erzeugt.

Siehe: " Hudson kann JUnit-Testausgabe-XML nicht analysieren " und " Hudson, C ++ und UnitTest ++ "


Könnten Sie weitere Informationen geben, welche Ausgabe meinen Sie? Wahrscheinlich ein Beispiel oder eine Anleitung, wie man einen solchen Ausgang bekommt? Vielen Dank!
Guerda

Ist es für JUnit 4.x? Welchen TestRunner verwenden Sie?
Guerda

Wenn Sie die Zeit hätten, einen XML-Reporter für UnitTest ++ zu schreiben, wäre ich interessiert, wenn Sie ihn teilen können.
Vincent

20
Ich bin überrascht zu hören, dass die Suche nach einer Spezifikation oder einem Standard "dazu neigt, Meinungen zu gewinnen ...". Ich kann verstehen, warum die Diskussion einer Spezifikation oder eines Standards solche Probleme verursachen würde, aber eine Spezifikation selbst ist einfach eine konkrete Tatsache. Entweder existiert es oder nicht, und ein Antwortender weiß entweder, wo es existiert oder nicht. Angesichts der Bedeutung von Spezifikationen und Standards für die Zusammenarbeit moderner Software - der komplexesten Artefakte, die jemals gebaut wurden - denke ich, dass die SO-Richtlinien geändert werden sollten, um diese Art von Fragen zuzulassen.
Arthur

Antworten:


50

Eine XSD basierend auf dem Code in Apache Ant 1.8.2 finden Sie unter https://github.com/windyroad/JUnit-Schema


4
In meinem Kommentar unter windyroad.zendesk.com/entries/… finden Sie Teile, die in dieser XSD fehlen.
Reinderien

Kommentar Vor-Ort- zu bringen, Reinderienfand heraus , dass diese zu werden scheint , fehlt: /testsuites/testsuite/@skipped, /testsuites/testsuite/testcase/skipped, /testsuites/testsuite/error, /testsuites/testsuite/failure, /testsuites/testsuite/system-err, nach Überlesen von XMLJUnitResultFormatter.java, XMLResultAggregator.java, XMLConstants.javabei svn.apache.org/repos/asf/ant/core/trunk/src/main/org/ Apache /…
n611x007

1
@naxa, ich glaube, diese Knoten wurden nach Apache Ant 1.8.2 hinzugefügt. Ich erinnere mich, dass ich damals sehr gründlich war (zu Beginn des Jahres 2011). Ich habe gerade die XSD auf Github verschoben und die Lizenz auf die Apache License Version 2.0 umgestellt. Fühlen Sie sich frei zu teilen und zu aktualisieren.
Tom Howard

11

Die XML-Ausgabe wird nicht von JUnit (zumindest nicht von junit.jar) generiert, sondern von der Task junit ant.
Die relevante Klasse ist org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter .


2
Das ist toll. Ich würde gerne echte Dokumentation oder eine echte Spezifikation sehen, aber sonst gibt es nichts maßgeblicheres als die Quelle.
Greg Price

Die Interpretation dieser Quelle erfordert auch das Lesen von svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/… .
Reinderien

Lesen Sie auch svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/…, da dies die Quelle der Paket- und ID-Attribute ist.
Reinderien

8

1
Ja, ich bin auch auf dieser Seite gelandet, aber sie ist nicht vollständig. Als ich RUnit (Unit Testing for R) so erweiterte, dass es eine mit Hudson kompatible Ausgabe erzeugt, produzierte ich schließlich eine "Testsuite", dort eine Liste von "Testsuite" und in diesen allen "Testfällen". Ich weiß immer noch nicht, wie ich deaktivierte Tests markieren soll.
Mariotomo

6

Wie andere bereits erwähnt haben, wird die XML von ANT und nicht von jUnit verarbeitet

Hier ist die beste Spezifikation, die ich gesehen habe. Aus diesem Beitrag


-5

Ich kann Ihnen nur allgemeine Informationen geben.

Im Quellcode von JUnit finden Sie Ihre Informationen. Wenn Sie weitere Informationen bereitstellen, kann ich Ihnen weiterhelfen. Mein persönlicher Hinweis, um Ihre Spezifikation zu finden, wärejunit.framework.TestResult .

Viel Glück!


2
JUnit weiß überhaupt nichts über dieses Format. Es wird von Ameise erzeugt. Es ist ein lustiges Geschäft.
Tom Anderson
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.