Sto usando JUnit per scrivere alcuni test di livello superiore per il codice legacy che non ha test unitari.C'è un modo per forzare JUnit a fallire su QUALSIASI eccezione non controllata, anche se ingerita
Gran parte di questo codice "inghiotte" una varietà di eccezioni non controllate come NullPointerExceptions (ad es., Semplicemente stampando la traccia dello stack e restituendo null). Pertanto il test unitario può passare anche attraverso una cascata di disastri in vari punti del codice di livello inferiore.
C'è un modo per avere un errore di test sulla prima eccezione non controllata anche se vengono ingeriti?
L'unica alternativa che posso pensare è scrivere un wrapper JUnit personalizzato che reindirizza System.err e quindi analizza l'output per le eccezioni.
No, come fa JUnit a sapere dell'eccezione se viene ingerita prima che venga raggiunto il codice JUnit? Ma forse non dovresti fare affidamento su tutto ciò che accade nel codice legacy e controllare che il tuo codice sia corretto.Dopo tutto, quando qualcosa va storto che ha un impatto sul risultato del codice, il test dovrebbe fallire. – FRotthowe
@FRotthowe: sto utilizzando JUnit per scrivere test di regressione e test wrapper per i componenti esistenti del codice legacy. Non ho molto del mio codice. il problema è che voglio cogliere questi errori interni, soprattutto perché le persone mantengono il codice interno. – Uri