|
Il Test Driven Development e' di fatto un'estensione del Design by Contract.
I test non sono altro che la formalizzazione del contratto di una classe o di un metodo, invarianze comprese. Piu' precisamente e' una formalizzazione delle post condizioni, mentre le Assert classiche formalizzano le pre condizioni.
La differenza sostanziale e' che nel Design by Contract come in Eiffel, i contratti sono controllati a run time durante l'esecuzione dell'applicazione, mentre nel testing automatico sono controllati a parte durante l'esecuzione dei test nella build dell'applicazione (cosa che preferisco).
|