JUnit Test parametrizzato con esempio utilizzando @Parameters

Cos'รจ il test parametrizzato in Junit?

Il test parametrizzato consiste nell'eseguire lo stesso test piรน e piรน volte utilizzando valori diversi. Aiuta lo sviluppatore a risparmiare tempo nell'esecuzione dello stesso test che differisce solo per gli input e i risultati attesi.

Utilizzando il test con parametri, รจ possibile impostare un metodo di test che recuperi i dati da alcune origini dati.

Considera un semplice test per sommare numeri diversi. Il codice potrebbe essere simile a:

Test parametrizzato in Junit

L'approccio di cui sopra porta a molta ridondanza.

Abbiamo bisogno di un approccio semplice e. Utilizzando il test parametrizzato puoi semplicemente aggiungere un metodo per inserire 10 input di dati e il test verrร  eseguito automaticamente 10 volte.

Passaggi per creare un file parametrizzato JUnit test

Il codice seguente mostra un esempio di test parametrico. Testa il metodo sum() della classe Arithmetic:

Passo 1) Crea una classe. In questo esempio, inseriremo due numeri utilizzando il metodo sum (int,int) che restituirร  la somma dei numeri indicati

Passaggi per creare un file con parametri JUnit Test

Passo 2) Creare una classe di test con parametri

Passaggi per creare un file con parametri JUnit Test

Code Spiegazione

  • Code Linea 11: Annota la tua classe di test utilizzando @runWith(Parameterized.class).
  • Code Linea 13: Dichiarare la variabile "firstNumber" come privata e digitare come int.
  • Code Linea 14: Dichiarare la variabile "secondNumber" come privata e digitare come int.
  • Code Linea 15: Dichiarare la variabile "expectedResult" come privata e digitare come int.
  • Code Linea 16: Dichiarare la variabile "airthematic" come privata e digitare Airthematic.

@Corri con(nome_classe.classe): @Corri con l'annotazione viene utilizzata per specificare il nome della classe runner. Se non specifichiamo alcun tipo come parametro, sarร  il runtime a scegliere BlockJunit4ClassRunner per impostazione predefinita.

Questa classe รจ responsabile dell'esecuzione dei test con una nuova istanza di test. รˆ responsabile dell'invocazione JUnit metodi del ciclo di vita come installazione (risorse associate) e smontaggio (risorse di rilascio).

Per parametrizzare รจ necessario annotare utilizzando @RunWith e passare il file .class richiesto per essere testato

Passo 3) Creare un costruttore che memorizzi i dati di test. Memorizza 3 variabili

Passaggi per creare un file con parametri JUnit Test

Passo 4) Creare un metodo statico che generi e restituisca dati di test.

Passaggi per creare un file con parametri JUnit Test

Code Linea 32,33: Creazione di un array bidimensionale (fornendo parametri di input per l'addizione). Utilizzando il metodo asList convertiamo i dati in un tipo List. Poichรฉ il tipo restituito dell'input del metodo รจ collection.

Code Linea 30: utilizzando @Parametri annotazione per creare una serie di dati di input per eseguire il nostro test.

Il metodo statico identificato dall'annotazione @Parameters restituisce una raccolta in cui ciascuna voce nella raccolta costituirร  i dati di input per un'iterazione del test.

Considera l'elemento

{} 1,2,3

Qui

primoNumero =1

secondoNumero=2

risultato atteso=3

Qui ogni elemento dell'array verrร  passato al costruttore, uno alla volta poichรฉ la classe viene istanziata piรน volte.

Passo 5) Il codice completo

Passaggi per creare un file con parametri JUnit Test

Code Spiegazione:

  • Code Linea 25: Utilizzando l'annotazione @Before per impostare le risorse (Airthematic.class qui). L'annotazione @Before viene utilizzata qui per essere eseguita prima di ogni caso di test. Contiene le precondizioni del test.
  • Code Linea 36: Utilizzo dell'annotazione @Test per creare il nostro test.
  • Code Linea 39: Creare un'istruzione assert per verificare se la nostra somma รจ equivalente a quanto ci aspettavamo.

Passo 6) Crea una classe del test runner per eseguire il test parametrizzato:

Passaggi per creare un file con parametri JUnit Test

Code Spiegazione:

  • Code Linea 8: Dichiarare il metodo principale del test della classe su cui verrร  eseguito il ns JUnit test.
  • Code Linea 9: Eseguendo i casi di test utilizzando JunitCore.runclasses, prenderร  il nome della classe di test come parametro (nel nostro esempio stiamo utilizzando Airthematic.class).
  • Code Linea 11: Elaborazione del risultato utilizzando il ciclo for e stampa del risultato non riuscito.
  • Code Linea 13: Stampa del risultato positivo.

Produzione:

Ecco l'output che mostra un test riuscito senza errori. trace come indicato di seguito:

Passaggi per creare un file con parametri JUnit Test

Guarda il risultato sulla console, che mostra l'addizione di due numeri: -

JUnit Test parametrizzato

Sintesi

Il test parametrizzato consente allo sviluppatore di eseguire lo stesso test piรน e piรน volte utilizzando valori diversi.

Annotazioni importanti da utilizzare durante la parametrizzazione

  • @Corri con
  • @Parametri

Riassumi questo post con: