Ho uno script che genera eccezioni quando qualcosa va storto. Tuttavia, ai fini del test, desidero anche acquisire punti specifici, anche se non sono sicuro che siano considerati errori o meno.
Di seguito è riportato un esempio:
if ($model->fetchCurrentlyProcessing() > 0) {
throw new App_Exception_CurrentProcess('There is a currently process running. Stopping process.');
}
if ($model->fetchQueuedItems() == 0) {
throw new App_Exception_NothingInQueue('Nothing in queue. Stopping process.');
}
Nei miei test voglio prendere in giro la risposta da questi metodi $ model e rilevare quale eccezione è stata lanciata, e se si trattava dell'eccezione prevista o meno. Lasciando eccezioni in questi casi, posso identificare esattamente a che punto la sceneggiatura è stata interrotta. Ma non sono sicuro che questo sia l'uso corretto di Eccezioni in quanto questi non sono errori per la precisione, dato che nulla è andato storto.