2011-01-30 21 views
8

Eclipse admite la compilación incremental. Si guardo un archivo fuente, compilará los archivos modificados.¿Es posible ejecutar pruebas JUnit incrementales/automáticas en Eclipse?

¿Es posible después de dicha compilación incremental también ejecutar las pruebas JUnit del mismo paquete y mostrar el error en la vista de error? Luego puedo ver que la prueba JUnit falla y compila errores en la misma vista sin acción adicional. ¿Hay algún complemento que pueda hacerlo?

+1

Creo que encontraría rápidamente que una característica de este tipo era molesta y/o le ralentizaba. –

+0

Solo debe ejecutar la prueba de la clase guardada. Si las pruebas de la unidad se ejecutan más tiempo que el compilador, entonces no son pruebas unitarias sino pruebas funcionales. Debe dividir las pruebas de unidad y funcionales. – Horcrux7

Respuesta

9

Usted tiene que mirar a estos complementos:

  • JUnit Max: No libre, desarrollado por Kent Benk (uno de los hombres detrás de la práctica de TDD);
  • MoreUnit: gratuito, pero esencialmente dedicado a ayudarlo a escribir las pruebas;
  • Infinitest: ahora gratis, este complemento está dedicado a ejecutar las pruebas relacionadas con los archivos que acaba de modificar.

Por lo que respecta a sus necesidades, le sugiero que instale complementos MoreUnit e Infinitest.

+0

Que yo sepa, Infinitest era gratis, pero sólo para uso no comercial. Parece que ahora es 100% totalmente gratis. Es bueno saberlo, gracias! – MatrixFrog

+0

@MatrixFrog Sí, de hecho. Algunos de mis ex colegas (que ahora trabaja para algodeal - https://beta.algodeal.com/) ahora están trabajando en este complemento, y lo hacen gratis, alojados en GitHub. – romaintaz

0

Puede ejecutar todas las pruebas en un proyecto usando Alt+Shift+X,T. Creo que hacerlo de forma más automatizada que esto podría tener un costo de rendimiento serio. La compilación incremental compila como máximo 1 archivo a la vez, pero está hablando de ejecutar potencialmente cientos de pruebas.

+0

No quiero ejecutar todas las pruebas del proyecto. Quiero ejecutar solo la prueba relacionada con la clase guardada. Tenemos aprox. 100 mil pruebas JUnit. Esto se ejecutará a largo. – Horcrux7

2

Use ExternalToolBuilder.

Se puede activar por modificación de fuente.

Hay función personalizada Eclipse (integrate external tool builder) que puede cubrir su necesidad. Pero se necesita un esfuerzo extra para escribir los guiones que nunca usé. casos de prueba automática no es una forma conveniente, al menos solo clic para ver la barra verde en Eclipse es suficiente para mí :)

+0

Tenemos aprox. 100 mil pruebas JUnit. Quiero ejecutar solo el subconjunto que esté relacionado con la clase actual de mayo. Esta ejecución debe ser de aproximadamente un segundo o menos. La selección manual de la prueba y el parámetro de línea de comando necesario para la burla consumirá mucho tiempo y se olvidará en muchos casos. – Horcrux7

+0

JUnit4 proporciona una gran variedad para ejecutar subconjuntos de todos los casos de prueba. Uso: @RunWith (Suite.class) @ Suite.SuiteClasses ({ \t A.class, \t B.class, ... }) –

Cuestiones relacionadas