Recentemente abbiamo iniziato a scrivere test per la nostra base di codice PHP piuttosto ampia - utilizzando PHPUnit stiamo scrivendo unit e test di integrazione per i nostri modelli e controller.
Qual è il consenso nell'impostazione di un commutatore booleano che indica se una classe è in TEST_MODE che altera il comportamento di un metodo?
Ad esempio: una funzione di supporto email - non abbiamo bisogno di inviare una email durante un test e non testiamo il server di posta, solo che quel metodo è stato chiamato.
if (self::TEST_MODE) {
return true;
}
Sto già uscendo da questa idea - non credo che aggiungere controlli extra per tutta la serie di codice per i test sia una soluzione elegante.
Ma in questo esempio, ad esempio, quale sarebbe un buon modo per controllare che l'e-mail sia stata inviata?