Come si creano suite di test con JUnit 4?
Tutta la documentazione che ho visto non sembra funzionare per me. E se utilizzo la procedura guidata Eclipse, non mi dà la possibilità di selezionare nessuna delle classi di test che ho creato.
Come si creano suite di test con JUnit 4?
Tutta la documentazione che ho visto non sembra funzionare per me. E se utilizzo la procedura guidata Eclipse, non mi dà la possibilità di selezionare nessuna delle classi di test che ho creato.
Risposte:
import org.junit.runners.Suite;
import org.junit.runner.RunWith;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
//nothing
}
Puoi creare una suite in questo modo. Ad esempio una AllTest
suite sarebbe simile a questa.
package my.package.tests;
@RunWith(Suite.class)
@SuiteClasses({
testMyService.class,
testMyBackend.class,
...
})
public class AllTests {}
Ora puoi eseguirlo in un paio di modi diversi:
esegui dalla riga di comando:
$ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
Penso che TestSuite sia caduto in disgrazia. Potrebbe essere stato lo stile prima della 4.x, ma per quanto ne so non lo è ora.
Annoto solo i test che desidero e poi eseguo la classe. Vengono eseguiti tutti i test annotati. Potrei usare Ant, ma la maggior parte delle volte li faccio eseguire da IntelliJ per me.
@SuiteClass
annotazione in più classi e puoi nidificare le suite all'interno delle suite. La linea di pensiero per organizzarli in 3.x è ancora totalmente valida (e dovrebbe essere utilizzata). Puoi strutturare tutto esattamente come facevi prima; devi solo usare la sintassi dell'annotazione invece di TestSuite.suite()
. Non c'è davvero alcun vantaggio nell'usare TestSuite
l'annotazione e puoi sfruttare tutti i miglioramenti di JUnit 4 se usi l'annotazione equivalente a livello organizzativo.
Ecco i passaggi per creare una suite JUnit in eclipse:
Informazioni sulla versione: questo è per eclipse Neon e JUnit 4. Puoi anche selezionare JUnit 3 prima di selezionare "Finish" nel passaggio 6.