que tienen un conjunto de pruebas JUnit en la forma:Detener suite de JUnit si determinada prueba falla
@RunWith(Suite.class)
@Suite.SuiteClasses({ xx.class, yy.cass })
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite(AllTests.class.getName());
//$JUnit-BEGIN$
//$JUnit-END$
return suite;
}
}
Esto luego llama a pruebas de vainilla como este:
public class xxx {
@Test
public void test() throws {
...
tengo una situación en la que había desea detener el resto del paquete de prueba si hay un error o falla en la primera prueba. Pero los errores/fallas en los otros están bien y el conjunto debe completar tantas otras pruebas como sea posible. Básicamente, la primera falla de la prueba indicaría que no es seguro ejecutar el resto.
¿Esto es posible?
¿Cómo me programación comprobar si una afirmación ha fallado? – Jonathan
Ok, veo que podría detectar AssertionError en la primera prueba y luego llamar a System.exit(), pero entonces la prueba JUnit no pasará o fallará, solo dejará de ejecutarse. Parece que debería haber una manera más elegante. – Jonathan
Re: de una manera más elegante, no creo que JUnit proporcione esta funcionalidad lista para usar. Puede conducir al acoplamiento entre las pruebas. Lo ideal es que sus pruebas se ejecuten de forma independiente y no se vean afectadas por otras fallas. Si insistes, entonces la sugerencia de Hiro2k es la mejor. –