public void testExtModificaStatoAnalizzatore2() {
try {
String sigla = "PieSSeeMMe";
List rows = lab.extGetAnalizzatoriByDes(sigla);
assertEquals (1,rows.size());
Analizzatore ana = (Analizzatore) rows.get(0);
if (ana.isStatoColloquio()) {
lab.extModificaStatoAnalizzatore("",
OpAnalizzatore.DISATTIVA_COLLOQUIO, ana.getCod());
} else {
lab.extModificaStatoAnalizzatore("",
OpAnalizzatore.ATTIVA_COLLOQUIO, ana.getCod());
}
assertTrue(true);
} catch (Exception e) {
fail(e.getMessage());
}
}
- Sulle collection specificare il tipo di oggetti contenuti, facilita scrittura e comprensione. Invece di List List<Analizzatore>.
- Dare sempre occhiata che non ci siano warnings oltre che errori (tabs dei problemi).
- Fissare import (CTRL + O).
- Alla fine dei test i dati devono essere invariati. Ad es. se aggiungo accettazione la devo cancellare alla fine del test. Esiste su DBL un modo per ripristinare i dati nel caso si verifichi errore durante esecuzione dei test che ha modificato i dati? Ad es. sul DB spiano e ricarico i dati di test e si riparte sempre dalla stessa situazione.
- Sui test far lanciare le eccezioni, meno codice da scrivere.
- Fare sempre controllo su ID dell'oggetto per sapere se e' lui! Nel test di cui sopra si controlla solo il numero di oggetti restituiti.
- Le verifiche quando e' possibile vanno fatte rileggendo oggetti modificati dalla persitenza. Nell'esempio di cui sopra il test uscirebbe positivo anche se lo stato dell'analizzatore non e' cambiato: si testa solo che la chiamata non generi eccezione.

No comments:
Post a Comment