¿Cómo creo conjuntos de pruebas con JUnit 4?
Toda la documentación que he visto no parece funcionar para mí. Y si utilizo el asistente de Eclipse, no me da la opción de seleccionar ninguna de las clases de prueba que he creado.
¿Cómo creo conjuntos de pruebas con JUnit 4?
Toda la documentación que he visto no parece funcionar para mí. Y si utilizo el asistente de Eclipse, no me da la opción de seleccionar ninguna de las clases de prueba que he creado.
Respuestas:
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
//nothing
}
Puedes crear una suite así. Por ejemplo, una AllTest
suite se vería así.
package my.package.tests;
@RunWith(Suite.class)
@SuiteClasses({
testMyService.class,
testMyBackend.class,
...
})
public class AllTests {}
Ahora puede ejecutar esto de dos formas diferentes:
ejecutar desde la línea de comando:
$ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
Creo que TestSuite ha caído en desgracia. Ese podría haber sido el estilo antes de 4.x, pero no lo es ahora que yo sepa.
Solo anoto las pruebas que quiero y luego ejecuto la clase. Se ejecutan todas las pruebas anotadas. Podría usar Ant, pero la mayoría de las veces hago que IntelliJ las ejecute por mí.
@SuiteClass
anotación en varias clases y puede anidar Suites dentro de Suites. La línea de pensamiento para organizarlos en 3.x sigue siendo totalmente válida (y debería utilizarse). Puede estructurar todo exactamente de la misma manera que lo hizo antes; simplemente usa la sintaxis de anotación en lugar de TestSuite.suite()
. Realmente no hay ningún beneficio al usar TestSuite
sobre la anotación y puede aprovechar todas las mejoras de JUnit 4 si usa la anotación equivalente organizativamente.
Estos son los pasos para crear una suite JUnit en eclipse:
Información de la versión: esto es para eclipse Neon y JUnit 4. También puede seleccionar JUnit 3 antes de seleccionar 'Finalizar' en el paso 6.