2012-07-17 16 views
7

Estoy trabajando en un script que genera resultados de prueba en formato JUnit XML que acepta Jenkins.Acerca de Jenkins JUnit XML Format

leí algunas respuestas en StackOverflow sobre este tema: JUnit XML format specification that Hudson supports y Spec. for JUnit XML Output pero ninguna de estas conversaciones sobre el detalle de los "bancos de pruebas" atributos u opciones.

Quiero mostrar el número total de "testcase", el número total de "testcase" fallidos y el número total de "testcase" omitidos de todos los "testsuite" debajo de "testsuites".

es decir <testsuites *something to add here to include the info demanded*>...</testsuites>

¿Hay una manera de lograr eso?

¡Cualquier ayuda será muy apreciada!

Respuesta

0

He hecho esto en python. Entonces puedo decírtelo en Python. importar un paquete llamado xmlrunner

import xmlrunner 

class ABC(unittest.TestCase) 
asserts/tests.. 
... 

if __name__ == "__main__": 
    suite = unittest.TestLoader().loadTestsFromTestCase(ABC) 
    xmlrunner.XMLTestRunner().run(suite) 

Ahora en su máquina Jenkins ir a posterior a la generación acciones Haga clic en la casilla junto a Publicar prueba unitaria informe de resultados y proporcionar el nombre de ruta del archivo XML. (**/test.xml)

debe guardar y compilar y comprobar sus resultados detallados. Espero que ayude.

3

Creo que la información será calculada automáticamente por Jenkins. Si no, no se moleste en agregarlo, no se mostrará de todos modos.

He aquí un consejo útil sobre cómo depurar este tipo de cosas: crear un puesto de trabajo (Vamos a nombrar que jUnitReport) que "toca" un archivo (vamos a llamarlo jUnit.xml) en una cáscara/acumulación de lotes paso; agregue 'Publicar informe de resultado de prueba de JUnit' y especifique jUnit.xml en el cuadro de edición 'XML de informe de prueba'. Ejecute el trabajo una vez; eso creará su espacio de trabajo. Ahora coloque el jUnit.xml válido que desee probar en el área de trabajo. Ejecute el trabajo nuevamente y examine cómo se ven los resultados de las pruebas.

Es importante no eliminar el paso "táctil"; de lo contrario, Jenkins considerará que los resultados de la prueba están obsoletos y fallará la compilación.

Ahora puede jugar con jUnit.xml sin ejecutar pruebas reales y examinar cómo afecta los resultados que muestra Jenkins.

+0

Digamos que tengo un nuevo atributo en mi archivo XML, como "total_heap_size_allocated", ¿afectará esto a la forma en que Jenkins analiza el archivo JUnit XML existente? ¿O se romperá? – nirvanaswap

0

No estoy seguro si encontró lo que está buscando. Pero la siguiente muestra funciona para mí.

<testsuites tests="38" failures="2" disabled="0" errors="0" time="10.898" name="AllTests"> 
    <!-- Add test suite and other stuff here--> 
</testsuites> 

Esto es lo que admite Jenkins. No estoy seguro si es lo mismo para Hudson. https://svn.jenkins-ci.org/trunk/hudson/dtkit/dtkit-format/dtkit-junit-model/src/main/resources/com/thalesgroup/dtkit/junit/model/xsd/junit-4.xsd