Voglio sapere perché ho bisogno di gestire l'eccezione, quando sto prendendo in giro un metodo di annullamento che genera un'eccezione.Mockito, metodo vuoto con eccezione controllata
Per esempio
public class MyObject {
public void call() throws SomeException {
//do something
}
}
Ora, quando sto facendo questo,
@Mock
MyObject myObject;
doNothing().when(myObject).call()
il risultato e 'errore di compilazione dire
"error: unreported exception SomeException; must be caught or declared to be thrown"
Mi chiedo, perché ho bisogno di gestire un'eccezione per il metodo, che a sua volta viene deriso.
Non è necessario gestirlo. Basta mettere "getta l'eccezione" sul tuo metodo di prova. Contrassegno tutti i miei metodi JUnit con 'getta l'eccezione 'come una questione di abitudine - non c'è motivo per non farlo. –
@DawoodibnKareem Quando voglio segnalare che un test deve generare eccezioni, io uso gli helper dell'asserzione, come ad esempio '@Test (expected = ...)'. Cerco di evitare la clausola 'throws' nella firma del metodo di test in quanto non ha alcuna informazione utile sul test stesso. –