Come nel titolo: come si verificano errori del server di test di integrazione che restituiscono 500 risposte HTTP?
Ad esempio:
- C'è un server con un endpoint
/save
che accetta file inPOST
e lo salva nel file system del server - C'è una libreria / dipendenza
X
che gestisce la funzionalità di salvataggio dei file da qualche parte nell'altra parte dell'applicazione -
X
può fallire in una serie di motivi, ma per questo esempio diciamo che si blocca perché non c'è spazio sul disco - Vorremmo lanciare un HTTP 500 invece di bloccare il processo
Che cosa fai in questa situazione?
- Ti prendi in giro
X
e in effetti hai generato un errore nel test? - Ometti questi tipi di test e maneggi solo gli errori da qualche parte a livello globale?
- Ti basta l'integrazione testare i percorsi felici e ignorare i casi di errore e testarli nei test unitari?
- Qualcos'altro?
E una domanda che forse risponde a tutta la mia lotta:
Verifica se ogni possibile errore restituisce un HTTP 500
qualcosa che chiameresti overengineering o è piuttosto una buona pratica?