2010-05-24 7 views
5

Tengo un archivo de compilación ant que contiene JUnit Test Suite que me gustaría ejecutar. Actualmente solo hago clic derecho y ejecuto el archivo de compilación desde Eclipse.¿Cómo ejecutar hormiga usando java y capturado el resultado?

Quiero escribir un código de java que pueda ejecutar el archivo de construcción de ant automáticamente. Así que solo ejecuto el código y la hormiga se ejecutará.

En segundo lugar, quiero capturar el resultado de la prueba. Actualmente, el resultado se basa en el informe JUnit HTML. Quiero hacer mi propio informe de prueba simple. He leído que hay JUnitResultFormatter pero no puedo encontrar la instrucción paso a paso sobre cómo usarlo. ¿Alguien puede señalarme la referencia?

Respuesta

3

La forma más fácil de hacerlo es utilizar la clase JunitCore de java. No se aconseja llamar directamente al main de horm, ver Junit Faq y http://www.answerspice.com/c119/1497833/how-do-i-run-junit-tests-from-inside-my-java-application.

Es muy común definir una principal como esta para cada caso de prueba, para poder ejecutar las pruebas individualmente desde la línea de comandos. Por lo general, también cambio la configuración de registro en esos métodos, para obtener más información cuando ejecuto una única prueba manualmente que desde dentro de la hormiga.


Para entonces para crear un informe personalizado, que tendrá que implementar un RunListener que crea su informe, y registrarlo, como se describe en el Javadoc:

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

Su oyente será entonces se llamó antes y después de cada ejecución de prueba, y se pasó información descriptiva sobre la prueba que está a punto de ejecutarse, y cómo se realizó la prueba una vez que se realizó.

+0

gracias por los detalles :) ¿De esta manera, elimina la necesidad de archivos de compilación de hormigas porque llama específicamente a la clase de prueba? – Iso

+0

Sí, con esto, podrá llamar a las pruebas sin 'hormiga '. También puede mezclar ambos y seguir usando ant para automatizar la ejecución de todas sus pruebas, por ejemplo, en integración continua. – tonio

+0

siento preguntar de nuevo, pero ¿cómo especifico la ruta a la clase de prueba si no está en la misma carpeta? Estos son mi estructura de carpetas: Sampletest -> construir -> prueba ---> clases ----> test.diagram1_Suite1.class (esto el archivo de clase) -> prueba - > RunTest.class (este es el ejecutor) gracias de nuevo – Iso

Cuestiones relacionadas