Certains diront le contraire, mais je vous suggère de séparer les tests TDD et unitaires. TDD est tout à fait un changement mental et les tests unitaires semblent initialement prendre du temps. Si vous les considérez comme un élément, il y a un risque que vous ne voyiez pas suffisamment d'avantages immédiatement et il y aura une tentation de simplement abandonner TDD et les tests unitaires avec.
La première chose est d'écrire des tests unitaires. Ils n'ont pas besoin d'être parfaits au début. Apprenez simplement à tester de petites unités de code et à utiliser la simulation pour isoler les composants.
C'est le plus gros preneur de temps mais il a de loin le plus gros gain. Une fois que vous remarquerez que vous n'avez plus à parcourir 14 pages Web pour accéder à celle que vous souhaitez tester, vous saurez de quoi je parle.
Pour moi, le grand moment d'Eureka était une application Windows où j'essayais de tester une expression rationnelle qui exigeait que je remplisse deux formulaires avant de pouvoir y accéder. J'ai installé NUnit et écrit un test autour de cette méthode et j'ai vu à quelle vitesse j'ai économisé des heures de test. Ensuite, j'ai ajouté plus de tests pour traiter les cas marginaux. Etc.
Apprenez ensuite à bien rédiger les tests unitaires. Apprenez l'équilibre entre les tests fragiles qui sont rapides à écrire et à écrire de nombreux tests individuels. C'est assez simple. La leçon est qu'idéalement, chaque test ne teste qu'une chose, mais vous apprenez rapidement combien de temps cela prend, alors vous commencez à vous pencher un peu sur la règle jusqu'à ce que vous écriviez un test qui rompt à chaque changement de code, puis vous revenez vers le bon équilibre (qui est plus proche de la première que de la seconde).
TDD est, comme je l'ai dit, un changement mental majeur dans votre façon de travailler. Cependant, cela n'ajoutera pas beaucoup de temps à votre processus de développement une fois que vous écrivez déjà des tests. Et vous pourrez, je le promets, voir votre style de codage s'améliorer sous vos yeux. Ou plutôt, si vous ne le laissez pas tomber, ce n'est pas pour vous.
Une dernière chose à garder à l'esprit est que le TDD ne se limite pas aux tests unitaires. La conception pilotée par les tests d'acceptation fait partie intégrante de TDD. Une autre bonne raison de ne pas les mélanger dans votre esprit.