Come scrivere unit test per un progetto Java

March 11

Ogni sviluppatore sa che testare il codice è estremamente importante - parte del processo di sviluppo - ma noioso. test manualmente l'applicazione eseguendo può bastare abbastanza bene per i progetti di piccole o semplici, ma quando il progetto cresce a qualsiasi livello di complessità diventa difficile cogliere ogni percorso di esecuzione, e diventa noioso per ripetere lo stesso processo di test più e più volte. Scrittura di unit test può sicuramente coprire gran parte del processo di test, e può anche rilevare bug e difetti di progettazione si può non aver notato prima che fosse troppo tardi.

istruzione

1 Creare una classe per testare. Per ora, un semplice sarà sufficiente.

public class TestClass {

public int addInts(int a, int b) {

ritorno a + b;

}

}

2 Aggiungere un nuovo test di unità al progetto. In Eclipse, si può fare questo semplicemente facendo clic destro sulla cartella di origine, selezionando "Nuovo" dal menu contestuale, e selezionando "Caso JUnit Test" dal sottomenu. Nella finestra di dialogo, garantire "Nuovo JUnit 4 Test" è selezionata, il nome il test "TestClassTests" e fare clic su "Fine". È possibile che venga richiesto di aggiungere JUnit 4 al percorso di generazione; in caso affermativo, andare avanti e aggiungerlo.

3 Modificare il file TestClassTests per riflettere la seguente:

importare org.junit.Assert.assertEquals statici;

import org.junit.Test;

TestClassTests public class {

@Test

public void ensureAddIntsReturnsCorrectValue () {

finale tc TestClass = new TestClass ();

int exp finale = 11;

final int res = tc.addInts (5, 6);

assertEquals (exp, res);

}

}

Questo rappresenta la struttura di base di un test di unità. Si identifica un metodo come "test" (usando l'attributo @Test), inizializzare quello che si sta testando, eseguire il test, e poi convalidare i risultati utilizzando il metodo assertEquals. Si noti la "importazione statica ..." linea in alto; questo permette di fare riferimento al metodo assertEquals come se fosse un metodo statico della classe corrente, anche se è parte della classe Assert di JUnit.

4 Eseguire il test, facendo clic destro nel codice sorgente, selezionando "Esegui come" dal menu contestuale, quindi selezionando "Test JUnit" dal sottomenu; o tenendo premuto "Alt" e "Shift" e premere il tasto "X", quindi rilasciare tutto e premere "T."

Consigli e avvertenze

  • Unit testing è utile per qualsiasi sviluppatore - e la punta di un iceberg. Assicurati di rivedere la documentazione JUnit per vedere tutti i diversi tipi di metodi di affermazione disponibili, come "assertTrue" e "assertNotNull", in modo da poter realmente ottenere il beneficio completo del framework di test. Inoltre, esaminare le altre annotazioni, come @Before e @After, che esegue il metodo annotato prima e dopo ogni prova, rispettivamente, e @BeforeClass e @AfterClass, che eseguono prima e dopo l'intera suite di test (vale a dire tutti i @ metodi di prova nella tua classe) viene eseguito.