Vedere video: https://www.youtube.com/watch?v=5vV4zsB7NOo&index=4&list=PLv6UtFrA7VEu4PtzJaGHHSeZBi6mdJtwv In questa lezione parliamo di testing.

Fino ad ora abbiamo usato lo scrapbook, che ci consente di fare il test di classi e comandi, ma non fa test automatico.

Questo può essere fatto implementando la UNIT TESTING, che si utilizzerà facendo semplice click.

E' utile quando si fanno modifiche al codice, per fare "agile sw development" (extreme programming).

Eclipse integra la JUNIT. Bisogna mettere le classi in una Source Folder separata, pertanto selezionare nel Package Explorer il progetto, --> File > New > Source Folder > .. lo chiamiamo test --> finish (è il gemello di src).

Dobbiamo creare la struttura simile a quella che abbiamo creato per la classe Person, quindi dentro alla source folder test creeremo lo stesso package: File >  New > Package > ... il nome è lo stesso: org.totalbeginner.tutorial ; dentro al package mettiamo la classe: New > JUnit Test Case > ... il nome è generalmente il nome della classe da testare seguito dalla parola Test --> PersonTest.  Nel campo "Class under test" scrovoamo il nome della classe da testare --> compare un warning, che ci avvisa che la JUnit 3 non è nel build path del progetto totalbeginner. Il build path è dove il test compiler di Java cerca le librerie che non sono parte dello standard java.   JUnit è un package di terze parti, dobbiamo dire al compiler dove si trova. Possiamo risolvere facendo click here nel warning. Se facciamo finta di nulla, e clicchiamo su Next --> compaiono i metodi della classe Person e quelli ereditati dalla superclass Object --> Proviamo a spuntare, ad esempio, Person(), setName() e setMaximumBooks() --> Finish. Viene creata la classe di test con errori, che possiamo visualizzare anche nella view Problems. Il compiler non trova la classe TestCase. Si può usare right click > QUICK FIX per risolvere --> compare JUnit 3 nel Package Explorer. Potevamo fare lo stesso manualmente: dal Package Explorer, right click > Build Path > Configure Build Path > (tab) Libraries > aggungo manualmente la JUnit 3. Torniamo alla classe PersonTest.java. La prima riga è il package; la seconda riga è l'import statement che importa la classe TestCase dal package testunit.framework, quindi possiamo usare questa classe senza dover scrivere l'intero nome. La terza riga ha la dichiarazione della classe PersonTest che extends TestCase --> eredita i suoi metodi e le sue proprietà. In accordo con quanto spuntato precedentemente per scegliere cosa testare, Eclipse ha creato tre metodi: testPerson() ; testSetName() ; testSetMaximumBooks(), però sono ancora con la scritta "fail - not implemented". Se facciamo Run > Run As > JUnitTest --> abbiamo tre failures, con reason: not yet implemented. Nella prossima lezione vedremo come costruire i metodi.