I test sono fatti per "certificare", "asserire" in modo automatico che il tuo programma si comporta bene ed eventuali eccezioni non andrebbero catchate proprio perché sintomo di un errore a cui magari non hai pensato e/o non gestito.
Se tu devi testare l'operazione di inserimento di un record in un database, devi:
1. predisporre il database
2. inserire il tuo record
3. controllare che il record esista
es. richiedi la chiave primaria del record appena inserito, se valida allora è andata bene. questo lo controlli con ad esempio
codice:
assertTrue(primaryKey != null)
oppure
codice:
assertTrue(primaryKey > 0)
fai te sul tipo della chiave
se quell'assert è superato, hai inserito correttamente, altrimenti fail e in genere fai
codice:
fail("Inserimento non corretto")
Ci sono dei casi in cui di proposito fai fallire la tua operazione (per vedere come si comporta il programma): in tal caso se ad esempio provi a dare dei valori non ammessi, avrai una eccezione: fai il catch di quell'eccezione, con quella root case e quel messaggio e ti va ancora bene perché vuoi generare quella eccezione.
Se vuoi testare la cancellazione, puoi cancellare un record che non esiste? cosa fa il tuo programma se il record non esiste? Il tuo test deve verificare che il tuo programma si comporti bene
Non so se sono riuscita a spiegarmi