Mam zestaw testów JUnit w postaci:Zatrzymanie JUnit pakiet szczególności jeśli test nie powiedzie
@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;
}
}
To wywołuje wanilii testy takie jak ten:
public class xxx {
@Test
public void test() throws {
...
Mam sytuacji gdzie ja jak zatrzymać resztę zestawu testów, jeśli wystąpił błąd lub niepowodzenie w pierwszym teście. Ale błędy/niepowodzenia w innych są w porządku, a pakiet powinien wykonać jak najwięcej innych testów. Zasadniczo pierwsze niepowodzenie testu wskazuje, że nie jest bezpiecznie uruchomić resztę.
Czy to możliwe?
Jak programowo sprawdzić, czy twierdzenie nie powiodło? – Jonathan
OK, widzę, że mogłem złapać AssertionError w pierwszym teście, a następnie wywołać System.exit(), ale wtedy test JUnit nie przejdzie lub nie powiedzie się, po prostu przestań działać. Wygląda na to, że powinien być bardziej elegancki sposób. – Jonathan
Re: Bardziej elegancki sposób, nie wierzę, że JUnit zapewnia tę funkcjonalność po wyjęciu z pudełka. Może prowadzić do sprzężenia między testami. W idealnej sytuacji testy powinny przebiegać niezależnie od siebie i nie mogą być zakłócane przez inne awarie. Jeśli nalegasz, sugestia Hiro2k jest najlepsza. –