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 ++ "

Gilad Naor
quelle
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

Tom Howard
quelle
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 .

Laurent Doré
quelle
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

Ich fand eine informelle Spezifikation unter http://ant.1045680.n5.nabble.com/schema-for-junit-xml-output-td1375274.html

HD.
quelle
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

Fall Nelson
quelle
-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!

Guerda
quelle
2
JUnit weiß überhaupt nichts über dieses Format. Es wird von Ameise erzeugt. Es ist ein lustiges Geschäft.
Tom Anderson