Uso le assunzioni di junit per decidere se eseguire o meno un test.
Test in cui l'ipotesi non riesce sono ignored/skipped dal framework junit.Perché un test junit viene saltato a causa di un'ipotesi che l'errore non viene segnalato come saltato?
Mi chiedo perché i test saltati non vengono segnalati come "saltati"?
Si prega di dare un'occhiata all'esempio:
import static org.junit.Assert.fail;
import org.junit.Assume;
import org.junit.Test;
public class AssumptionTest {
@Test
public void skipAssumptionFailureTest() {
Assume.assumeTrue("foo".equals("bar"));
fail("This should not be reached!");
}
}
esecuzione di questo test in una risultati del progetto Maven in:
Running AssumptionTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
io preferirei avere questa prova segnalato come 'saltato'. C'è qualche possibilità di ottenere questo?
(JUnit 4.8.1; Maven 2.2.1; java 1.6.0_21)
Grazie per la risposta. Peccato che questo non funzioni fuori dalla scatola. L'implementazione di un runner personalizzato non funzionerà per me: normalmente nei miei test utilizzo già un runner personalizzato (SpringJUnit4ClassRunner) che non estenderò. Avrei preferito una build in soluzione. – FrVaBe
PER FAVORE aggiungi le parti importanti del post del blog come risposta, altrimenti questa risposta sarà del tutto inutile non appena quel post del blog scomparirà. (Sono impressionato che nessuno lo abbia mai menzionato negli ultimi 7 anni) –