Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRosabella Cenci Modificato 10 anni fa
1
Test con JUnit
2
zJUnit è un ambiente di test per programmi Java ySviluppato da Kent Beck É possibile usare JUnit allinterno di Eclipse per eseguire i programmi invece di scrivere delle classi con il metodo main(). zÉ sufficiente: scrivere una sotto-classe della classe TestCase yaggiungere ad essa dei metodi di test
3
Junit zTest framework yplug-in di Eclipse yper fare test cases come codice Java yframework: set di classi e convenzioni per usarle zTest code testRaddoppia2(){ } zProduction code int raddoppia(){ }
4
Junit É possibile usare JUnit allinterno di Eclipse per eseguire i programmi invece di scrivere delle classi con il metodo main(). zÉ sufficiente: scrivere una sotto-classe della classe TestCase yaggiungere ad essa dei metodi di test
5
Elementi del framework zassert*() yfunzioni di confronto zTestCase yclasse contenente serie di test yuna per ogni classe di production code yvari test per ogni metodo di classe production zTestSuite yclasse contenente serie di TestCase
6
Codice generato automaticamente da Eclipse Deve iniziare sempre con test TestCase Class import junit.framework.TestCase; public class StackTester extends TestCase { public StackTester(String name) { super(name); } public void testStack() { Stack unoStack = new Stack(); if(!unoStack.isEmpty()) { System.out.println(Lo stack dovrebbe essere vuoto!); unoStack.push(10); unoStack.push(-4); System.out.println(Ultimo elemento: + unoStack.pop()); System.out.println(Primo elemento: + unoStack.pop()); } }
7
Assert*() zper condizione yassertTrue(message when test fails, condition); zper valori di ritorno object, int, longs, byte yassertEquals(expected_value, expression); zper valori di ritorno float, double: yassertEquals(expected_value, expression, error); zse la condizione testata ye vera, esegue istruzione seguente ye falsa, break a fine metodo
8
Assert (1) zSono metodi pubblici definiti nella classe TestCase che iniziano con assert e sono sono usati nei metod di test yassertTrue(messaggio, condizione); Es. assertTrue(stack non vuoto, unoStack.empty()); zSe la condizione è falsa: yIl test fallisce e il resto del metodo non viene eseguito yViene stampato il messaggio zSe la condizione è vera non succede nulla
9
Assert (2) zPer oggetti, interi, long, byte: yassertEquals( valore_atteso, espressione); Es. assertEquals( 2, unoStack.size() ); zPer valori floating point: yassertEquals(valore_atteso, espressione, errore); Es. assertEquals(1.0, Math.cos(3.14), 0.01);
10
Assert Esempio public void testStack() { Stack aStack = new Stack(); assertTrue(Stack should be empty!, aStack.isEmpty()); aStack.push(10); assertTrue(Stack should not be empty!, !aStack.isEmpty()); aStack.push(-4); assertEquals(-4, aStack.pop()); assertEquals(10, aStack.pop()); }
11
Un concetto per volta.. public void testStackEmpty() { Stack aStack = new Stack(); assertTrue(Stack should be empty!, aStack.isEmpty()); aStack.push(10); assertTrue(Stack should not be empty!, !aStack.isEmpty()); } public void testStackOperations() { Stack aStack = new Stack(); aStack.push(10); aStack.push(-4); assertEquals(-4, aStack.pop()); assertEquals(10, aStack.pop()); }
12
TestSuite zCombina vari test case in una test suite: public class AllTests extends TestSuite { public AllTests(String name) { super(name); } public static TestSuite suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(StackTester.class); suite.addTestSuite(AnotherTester.class); }
13
Esecuzione di una test suite zConsiste nelleseguire tutti i test case aggiunti alla test suite zSi esegue esattamente come un test case
14
Funzionamento zPer un test case JUnit: yEsegue tutti i suoi metodi di test pubblici xOvvero quelli che iniziano con test yIgnora tutto il resto zLa classe può contenere metodi di supporto (helper methods) yNon sono pubblici o non iniziano con test yPossono essere chiamati dai metodi di test
15
Junit - set up zin Eclipse zaprire projects property window zjava build path zlibraries zexternal jar yadd org.junit
16
Run as JUnit Test zRun zRun As.. zJunit Test
17
Red / Green Bar expected but was
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.