Après la mise sur un couple de projets qui étaient en production mais avait besoin d'une nouvelle fonctionnalité majeure, l'une de mes bas de lignes en tant que responsable technique de départ d'un projet, c'est que l'unité-les tests sont un must.
Ça coûte seulement trop de choses à essayer et de réécrire le code qui a été écrit sans les tests unitaires. Le code est toujours mal structuré (Un millier de multi-ligne web-service, le tout dans un seul code derrière quelqu'un?) et de faire des changements (même quand il est bien structuré) sans introduire des bogues est vraiment un processus douloureux.
Cela est particulièrement vrai quand un projet entre de lutte contre l'incendie mode (et ne pas avoir des tests unitaires contribue à des projets d'arriver dans cet état trop) - les clients sont grincheux, ils ont perdu la foi dans le projet, peu de choses pire que d'être le pauvre gars en essayant d'obtenir la prochaine dose sans l'introduction d'un tas de régression de bugs, et n'ayant même pas les tests unitaires.
Ces situations peuvent être facilement évités, ou du moins atténués en expliquant la valeur des tests avant. Bien sûr, il ya des situations où les tests unitaires ne sont pas si importants, mais ils sont vraiment l'exception.
Donc, oui - j'insiste sur les tests unitaires et ont passé beaucoup de temps à corriger les dégâts faits par d'autres développeurs qui comptaient sur leurs compétences de codage.