2012-01-30 22 views
8

Quiero crear informes de prueba generados por JUnit/TestNG PROGRAMMATICALLY. Entonces, eso excluye a ANT. Mi principal preocupación es generar archivos XML creados por Junit durante la ejecución de casos de prueba. He leído que RunListener podría ayudarme a lograrlo, pero no he podido averiguar cómo. Estoy usando Selenium para crear mis casos de prueba.Generar archivos XML utilizados por JUnit Reports

¿Cómo puedo generar archivos XML creados por JUnit?

+0

usar el XML JUnit [formato] (http: // ayuda. catchsoftware.com/display/ET/JUnit+Format) – Manu

Respuesta

9

JUnit no genera informes XML. No hay un formato de salida XML estándar para JUnit.

Otras herramientas generan XML, como Ant/Maven. Entonces, lo primero que debe hacer es decidir qué tipo de archivo XML desea, como qué desea hacer con los archivos una vez que los haya creado.

Y, en realidad, su restricción de programación no descarta ANT. Puede invocar ant programmatically (ver Invoke ant from java, then return to java after ant termination). Esta sería probablemente la forma más fácil de generar archivos que son compatibles con ant.

Si desea crear sus propios archivos XML, puede crear una clase que extienda RunListener, y luego ejecutar sus pruebas invocando JUnitCore#run(), o similar.

public void main(String... args) { 
    JUnitCore core= new JUnitCore(); 
    core.addListener(new RingingListener()); 
    core.run(MyTestClass.class); 
} 

Su RunListener solo emitiría el XML apropiado. Es bastante fácil de entender: anula los métodos testRunStarted() etc. y escribe el XML. Para ver un ejemplo de cómo funciona, consulte TextListener, que hace lo mismo, pero para texto.

+0

TextListener paga ha sido eliminado. ¿Puedes compartir algún otro enlace? – anon

+0

He actualizado el enlace. –

0

Se preguntó casi la misma here Si nos fijamos en el doc TestNG que puede utilizar:

La interfaz org.testng.IReporter que sólo tiene un método: generateReport (Lista suites public void, String outputDirectory) TestNG invocará este método cuando se hayan ejecutado todas las suites y podrá inspeccionar sus parámetros para acceder a toda la información en la ejecución que acaba de completarse.

4

archivos XML son generados por la hormiga-junit, y podemos hacer eso por el programa, el código se parecerá a continuación:

Project project = new Project(); 
JUnitTask task = new JUnitTask(); 
project.setProperty("java.io.tmpdir",String); //set temporary directory 
task.setProject(project); 
JUnitTask.SummaryAttribute sa = new JUnitTask.SummaryAttribute(); 
sa.setValue("withOutAndErr"); 
task.setFork(false); 
task.setPrintsummary(sa); 
FormatterElement formater = new FormatterElement();   
FormatterElement.TypeAttribute type = new FormatterElement.TypeAttribute(); 
type.setValue("xml"); 
formater.setType(type); 
task.addFormatter(formater); 
JUnitTest test = new JUnitTest(String);// set Test.class.getname()   
test.setTodir(File); // set Location for your report 
task.addTest(test);   
task.execute(); 
+1

¿Qué archivos jar utilizaron? ¿Puedes compartir? – anon

Cuestiones relacionadas