Especificaciones. para la salida XML de JUnit [cerrado]

84

¿Dónde puedo encontrar la especificación de la salida XML de JUnit? Mi objetivo es escribir un reportero XML UnitTest ++ que produzca una salida similar a JUnit.

Consulte: " No es posible que hudson analice el XML de salida de la prueba JUnit " y " Hudson, C ++ y UnitTest ++ ".

Gilad Naor
fuente
¿Podría proporcionar más información, a qué salida se refiere? Probablemente un ejemplo o instrucción de cómo obtener tal resultado. ¡Gracias!
guerda
¿Es para JUnit 4.x? ¿Qué TestRunner usas?
guerda
si tuvieras tiempo para escribir un reportero XML para UnitTest ++, me interesaría si pudieras compartirlo.
Vincent
21
Me sorprende escuchar que la búsqueda de una especificación o estándar "tiende a atraer respuestas obstinadas ...". Puedo entender por qué la discusión de una especificación o estándar crearía tales problemas, pero una especificación en sí misma es simplemente un hecho concreto. O existe o no, y quien responde sabe dónde existe o no. Dada la importancia de las especificaciones y los estándares para ayudar al software moderno, los artefactos más complejos que la gente ha construido, a interoperar, creo que las pautas de SO deberían modificarse para permitir este tipo de preguntas.
Arthur

Respuestas:

50

Puede encontrar un XSD basado en el código en Apache Ant 1.8.2 en https://github.com/windyroad/JUnit-Schema

Tom Howard
fuente
4
Consulte mi comentario en windyroad.zendesk.com/entries/… para ver las piezas que faltan en este XSD.
Reinderien
con lo que el comentario en el lugar, Reinderienencontraron que estos se parece faltar: /testsuites/testsuite/@skipped, /testsuites/testsuite/testcase/skipped, /testsuites/testsuite/error, /testsuites/testsuite/failure, /testsuites/testsuite/system-err, después de la lectura a través de XMLJUnitResultFormatter.java, XMLResultAggregator.java, XMLConstants.javaen svn.apache.org/repos/asf/ant/core/trunk/src/main/org/ apache /…
n611x007
1
@naxa, creo que esos nodos se agregaron después de Apache Ant 1.8.2. Recuerdo haber sido muy minucioso en ese momento (a principios de 2011). Acabo de mover el XSD a github y cambié la licencia a Apache License versión 2.0. Siéntase libre de bifurcar y actualizar.
Tom Howard
12

La salida xml no la genera JUnit (al menos, no junit.jar), sino la tarea junit ant.
La clase relevante es org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter .

Laurent Doré
fuente
2
Esto es genial. Me encantaría ver documentación real o una especificación real, pero por lo demás, no hay nada más autorizado que la fuente.
Greg Price
La interpretación de esa fuente también requiere leer svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/… .
Reinderien
También lea svn.apache.org/repos/asf/ant/core/trunk/src/main/org/apache/… ya que es la fuente del paquete y los atributos de ID.
Reinderien
8

Encontré algunas especificaciones informales en http://ant.1045680.n5.nabble.com/schema-for-junit-xml-output-td1375274.html

HD.
fuente
1
sí, también llegué a esa página, pero no está completa. al extender RUnit (pruebas unitarias para R) para que produzca una salida compatible con Hudson, terminé produciendo una "suite de prueba", una lista de "suite de prueba" y en todas ellas "caso de prueba". Todavía no sé cómo marcar las pruebas desactivadas.
mariotomo
6

Como otros han mencionado, el xml lo maneja ANT, no jUnit

Aquí está la mejor especificación que he visto. De esta publicación

caso nelson
fuente
-5

Solo puedo darte una información general.

En el código fuente de JUnit encontrarás tu información. Si proporciona más información, puedo ayudarlo más. Mi sugerencia personal para encontrar su especificación sería junit.framework.TestResult.

¡Buena suerte!

guerda
fuente
2
JUnit no sabe nada de este formato. Es generado por hormiga. Es un asunto un poco divertido.
Tom Anderson