Domanda

Ho due test per verificare il tiro un'eccezione prevista. Sto usando Junit 4 e ha seguente sintassi.

@Test(expected=IllegalArgumentException.class)
public void testSomething(){
..........
}

Uno dei test non riescono, anche se IllegalArgumentException viene gettato e gli altri passaggi. Qualsiasi idea di che cosa manca ?? Ho modificato il test che non riesce a seguire e passa.

public void testSomething(){
 try{
  ............ //line that throws exception
  fail();
 }catch(IllegalArgumentException e) {
 }
} 
È stato utile?

Soluzione

Prithis solo qualcosa che ho notato la seconda prova non ha @Test annotazioni a tutti. Junit4 non esegue i test che non sono annotati anche se i nomi dei metodi di prova inizia con *** (a meno che naturalmente in realtà estende la classe TestCase, nel qual caso si comporta come un testcase JUNIT3.x)

Forse è il caso che il test non è in esecuzione a tutti (e, quindi, fa pensare che passa)?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top