JUnit Test dell'eccezione prevista: @Test(previsto)
JUnit fornisce la possibilitร di trace l'eccezione e anche per verificare se il codice sta generando l'eccezione prevista o meno.
Junit4 fornisce un modo semplice e leggibile per il test delle eccezioni che รจ possibile utilizzare
- Parametro facoltativo (previsto) dell'annotazione @test e
- A trace le informazioni "fail()" possono essere utilizzate
Mentre Collaudo eccezione, devi assicurarti che la classe di eccezione che stai fornendo in quel parametro facoltativo di @annotazione di prova รจ la stessa. Questo perchรฉ ti aspetti un'eccezione dal metodo che sei Test unitari, altrimenti il โโnostro JUnit il test fallirebbe.
Esempio@Test(expected=IllegalArgumentException.class)
Utilizzando il parametro "previsto", รจ possibile specificare il nome dell'eccezione che il nostro test potrebbe generare. Nell'esempio sopra, stai utilizzando "IllegalArgumentException" che verrร generato dal test se uno sviluppatore utilizza un argomento non consentito.
Esempio utilizzando @test(previsto)
Comprendiamo il test delle eccezioni creando un file Java classe con un metodo che genera un'eccezione. La gestirai e la testerai in una classe di test. Considera JUnitMessage.java ha un metodo che esegue semplicemente un'operazione matematica basata sull'input ricevuto dall'utente. Se venisse inserito un argomento illegale, verrร lanciata "ArithmeticException". Vedi sotto:
package guru99.junit;
public class JUnitMessage{
private String message;
public JUnitMessage(String message) {
this.message = message;
}
public void printMessage(){
System.out.println(message);
int divide=1/0;
}
public String printHiMessage(){
message="Hi!" + message;
System.out.println(message);
return message;
}
}
Code Spiegazione:
- Code Linea 7: Creazione di un costruttore parametrizzato con inizializzazione del campo.
- Code Linea 11-14: Creazione di un metodo per operazioni matematiche.
- Code Linea 18: Creazione di un altro metodo per stampare un messaggio.
- Code Linea 20: Creazione di una nuova stringa per stampare un messaggio.
- Code Linea 21: Stampa del nuovo messaggio creato alla riga 20.
Creiamo una classe di test per la classe Java sopra per verificare l'eccezione.
Vedere di seguito la classe di test per l'eccezione del test unitario (qui ArithmeticException) generata dalla classe Java precedente:
AirthematicTest.java
package guru99.junit;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class AirthematicTest {
public String message = "Saurabh";
JUnitMessage junitMessage = new JUnitMessage(message);
@Test(expected = ArithmeticException.class)
public void testJUnitMessage(){
System.out.println("Junit Message is printing ");
junitMessage.printMessage();
}
@Test
public void testJUnitHiMessage(){
message="Hi!" + message;
System.out.println("Junit Message is printing ");
assertEquals(message, junitMessage.printMessage());
}
}
Code Spiegazione:
- Code Linea 13: Utilizzando l'annotazione @Test per creare il nostro test. Quando esegui il metodo delle classi sopra, verrร richiamata un'operazione matematica. Qui รจ prevista un'eccezione aritmetica, quindi la elenchi come parametro in @Test.
- Code Linea 17: Richiamo printMessage() JUnitMessaggio.java
- Code Linea 18: Creazione di un altro metodo per stampare il messaggio HI.
Se esegui questa classe di test, il metodo di test viene eseguito con ciascun parametro definito. Nell'esempio precedente, il metodo di prova viene eseguito cinque volte.
Eseguiamolo e verifichiamo il risultato. Vedi sotto la classe del test runner da eseguire Esempio di test Junit.java
Produzione:
Ecco l'output che mostra un test riuscito senza errori. trace come indicato di seguito:
Sintesi
- Il test delle eccezioni รจ una funzionalitร speciale introdotta in JUnit4. In questo tutorial hai imparato come testare l'eccezione in JUnit utilizzando @test(escluso)
- Junit fornisce la possibilitร di trace l'eccezione e anche per verificare se il codice sta generando un'eccezione o no
- Per il test delle eccezioni, รจ possibile utilizzare
- Parametro facoltativo (previsto) dell'annotazione @test e
- A trace le informazioni "fail()" possono essere utilizzate



