Ho una suite di test JUnit nella forma:Arresto suite di JUnit se particolare test fallisce
@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;
}
}
Questo quindi chiama test di vaniglia come questo:
public class xxx {
@Test
public void test() throws {
...
Ho una situazione in cui mi piacerebbe piace fermare il resto della suite di test in esecuzione se c'è un errore o un errore nel primo test. Ma gli errori/errori negli altri sono ok e la suite dovrebbe completare il maggior numero di test possibile. Fondamentalmente, il primo test fallito indica che non è sicuro eseguire il resto.
È possibile?
Come dovrei programmazione verificare se l'affermazione non è riuscito? – Jonathan
Ok, vedo che potrei prendere AssertionError nel primo test e poi chiamare System.exit(), ma poi il test JUnit non passerà o fallirà, basta fermarsi. Sembra che ci dovrebbe essere un modo più elegante. – Jonathan
Re: un modo più elegante, non credo che JUnit fornisca questa funzionalità fuori dalla scatola. Può portare all'accoppiamento tra i test. Idealmente i test dovrebbero essere indipendenti l'uno dall'altro e non essere influenzati da altri errori. Se insisti, allora il suggerimento di Hiro2k è il migliore. –