Les tests unitaires consistent, en gros, à tester des parties de votre code de manière isolée avec du code de test. Les avantages immédiats qui viennent à l'esprit sont les suivants :
- L'exécution des tests devient automatisable et reproductible.
- Vous pouvez tester à un niveau beaucoup plus granulaire que les tests par pointer-cliquer via une interface graphique.
Notez que si votre code de test écrit dans un fichier, ouvre une connexion à une base de données ou fait quelque chose sur le réseau, il est plus approprié de le classer dans la catégorie des tests d'intégration. Les tests d'intégration sont une bonne chose, mais ne doivent pas être confondus avec les tests unitaires. Le code de test unitaire doit être court, facile et rapide à exécuter.
Une autre façon d'envisager les tests unitaires consiste à écrire les tests en premier. C'est ce qu'on appelle le développement piloté par les tests (TDD en abrégé). Le TDD apporte des avantages supplémentaires :
- Vous n'écrivez pas de code spéculatif "je pourrais avoir besoin de ceci dans le futur" - juste assez pour que les tests passent.
- Le code que vous avez écrit est toujours couvert par des tests.
- En écrivant le test en premier, vous êtes obligé de réfléchir à la façon dont vous voulez appeler le code, ce qui améliore généralement la conception du code à long terme.
Si vous ne faites pas de tests unitaires maintenant, je vous recommande de vous y mettre. Prenez un bon livre, pratiquement n'importe quel livre sur xUnit fera l'affaire car les concepts sont très transférables entre eux.
Parfois, l'écriture de tests unitaires peut être douloureuse. Lorsque cela se produit, essayez de trouver quelqu'un pour vous aider et résistez à la tentation d'"écrire simplement ce fichu code". Les tests unitaires sont un peu comme la vaisselle. Ce n'est pas toujours agréable, mais cela permet de garder votre cuisine métaphorique propre, et vous voulez vraiment qu'elle soit propre :)
Edit : Une idée fausse me vient à l'esprit, bien que je ne sois pas sûr qu'elle soit si courante. J'ai entendu un chef de projet dire que les tests unitaires obligeaient l'équipe à écrire tout le code deux fois. Si c'est ce que vous pensez, c'est que vous vous trompez. Non seulement l'écriture des tests accélère généralement le développement, mais elle vous donne aussi un indicateur pratique "maintenant j'ai fini" que vous n'auriez pas autrement.
0 votes
Uber, il y a beaucoup de ressources disponibles, et la Article de Wikipedia est certainement un bon point de départ. Une fois que vous avez une idée de base, peut-être que des questions plus spécifiques peuvent vous aider à décider par vous-même si vous voulez utiliser les tests unitaires.
0 votes
Les discussions sur le code propre : youtube.com/watch?v=wEhu57pih5w
1 votes
Ce n'est pas une question spécifique. Il s'agit de 5 questions générales.
11 votes
C'est une bonne chose que vous ayez posé cette question. Lire la réponse d'un programmeur en activité est bien meilleur et plus pertinent que de lire des ressources en ligne.