Sono nuovo al test delle unità e ho letto più volte che dovremmo scrivere prima il test dell'unità e poi il codice effettivo. A partire da ora, scrivo i miei metodi e poi collaudo il codice.Come scrivere prima il test dell'unità e poi il codice?
Se si scrivono i test prima ...
si tende a scrivere il codice per adattare i test. Questo incoraggia la "la cosa più semplice che risolve il problema" tipo di sviluppo e mantiene si è concentrato sulla risoluzione del problema non lavorando su meta-problemi.
Se si scrive il codice prima ...
Sarete tentati di scrivere i test per adattare il codice. In effetti questo è l'equivalente di scrivere il problema per adattarsi alla tua risposta, che è tipo all'indietro e molto spesso porterà a test che sono di valore inferiore .
Mi sembra buono. Tuttavia, come scrivo i test unitari prima ancora di avere il mio codice in posizione? Sto prendendo il consiglio alla lettera? Significa che dovrei avere le mie classi e interfacce POCO sul posto e poi scrivere il test unitario?
Qualcuno può spiegarmi come si fa con un semplice esempio di aggiungere due numeri?
I test di scrittura prima ti costringono a pensare a cosa una classe/metodo/algoritmo dovrebbe fare * prima * di implementarla effettivamente. È come dire "* Questo * è ciò che voglio succedere! Mi preoccuperò del * come * più tardi". – Corak
[Ecco la risposta che mostra come dovresti pensare quando fai TDD] (http://stackoverflow.com/questions/15367568/c-sharp-how-to-properly-unit-test-a-class-that-follows- a-decorator-pattern/15368534 # 15368534) –
Una cosa a cui pensare è che TDD è buono quando si dispone già di un progetto per il quale si sta lavorando su componenti specifici. Questo di solito viene dopo il prototipo. Se stai facendo prototipi o stai facendo RAD, il TDD si intrometterà. –