JUnit examples, also with Mockito and DBUnit, for teaching purposes
- Scaricare la classe di produzione
Calculator
, e piazzarla insrc/main/java/it/unisa/basic
- Scaricare il Platform Launcher (
https://mvnrepository.com/artifact/org.junit.platform/junit-platform-console-standalone
) e piazzarlo insrc/test/resources
- Creare una classe di test
CalculatorTest
insrc/test/java/it/unisa/basic
- Creare dei metodi di test per
add()
- Lanciare la classe di test tramite CLI
- Compilare la classe
Calculator
:javac src/main/java/it/unisa/basic/Calculator.java -d target/classes/
- Compilare la classe di test
CalculatorTest
:javac -cp src/test/resources/junit-platform-console-standalone-1.8.2.jar:target/classes/ src/test/java/it/unisa/basic/CalculatorTest.java -d target/test-classes
- Lanciare i test:
java -jar src/test/resources/junit-platform-console-standalone-1.8.2.jar -cp target/classes/:target/test-classes/ --scan-classpath
- Compilare la classe
- Modificare
add()
introducendo un bug - Ricompilare la classe
Calculator
come prima - Rilanciare i test come prima
- Aggiungere la dipendenza di JUnit Jupiter al
pom.xml
oppure tramite GUI dell'IDE. Scaricabile da qui:https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter
- Cliccare i "Play" verdi per lanciare i metodi di test, un'intera classe di test, oppure tutti i test.
- Creare una classe di test
CalculatorParameterizedTest
insrc/test/java/it/unisa/basic
- Modificare i metodi di test per farne uno unico parametrico
- Lanciare i test
- Creare una classe di test
CalculatorDivideTest
insrc/test/java/it/unisa/basic
- Creare dei metodi di test per
divide()
- Lanciare i test
- Creare la classe
CalculatorFixed
con il metododivide()
corretto - Creare la classe
CalculatorFixedDivideTest
identica aCalculatorDivideTest
ma che invocaCalculatorFixed
- Rilanciare i test finché non passano
- Creare una classe
TestAllSuite
insrc/test/java/it
- Aggiungere la dipendenza di JUPlatform Suite al
pom.xml
oppure tramite GUI dell'IDE. Scaricabile da qui:https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite
- Lanciare
- Creare una classe
CalculatorStateful
insrc/test/java/it/unisa/basic
- Assegnare una variabile di istanza
esito
, con valori EMPTY, OK, e ERROR, con metodo getter - Assegnare una variabile di istanza
valore
, con metodo getter - Aggiungere le 4 operazioni, inclusa la cancellazione
- Definire lo statechart e creare tanti casi di test tali da coprire, almeno un volta, ogni transizione
- Raccogliere la logica in comuni in metodi setup e teardown
- Lanciare
- Definire almeno un caso di test per le 4 operazioni
- Lanciare