« LeSS - Tests unitaires » : différence entre les versions

De Wiki Agile
Aucun résumé des modifications
Ligne 23 : Ligne 23 :
== Pourquoi faire des tests unitaires ? ==
== Pourquoi faire des tests unitaires ? ==


The purpose of unit testing is not for finding bugs. It’s a '''specification''' for the expected behaviours of the code under test. The code under test is the implementation for those expected behaviours. So unit test and the code under test are used to check the correctness of each other, and protect each other. Later when someone changed the code under test, and it changed the behaviour that is expected by the original author, the test will fail. If you code is covered by reasonable unit test, you can maintain the code without breaking the existing feature. That’s why Michael Feathers define '''legacy code''' as ''code without unit test''.
L’objectif du test unitaire n’est pas de trouver des anomalies. Le test unitaire est une '''spécification''' des comportements attendus du code sous test. Le code sous test est l’implémentation de ces comportements attendus. Donc les tests unitaires et le code sous test sont utilisés pour vérifier l’exactitude de l’un par rapport à l’autre, ils se protègent ainsi mutuellement. Si quelqu’un change le code sous test, et que cela change le comportement attendu par l’auteur originel, le test échouera. Si votre code est couvert par un test unitaire cohérent, vous pouvez maintenir le code sans casser la fonctionnalité existante. C’est la raison pour laquelle Michael Feathers définit le '''code hérité/patrimonial''' comme étant du ''code sans test unitaire''.
 
L’objectif du test unitaire n’est pas de trouver des anomalies. Le test unitaire est une '''spécification''' des comportements attendus du code sous test. Le code sous test est l’implémentation de ces comportements attendus. Donc les tests unitaires et le code sous test sont utilisés pour vérifier l’exactitude de l’un par rapport à l’autre et se protègent ainsi mutuellement. Si quelqu’un change le code sous test, et que cela change le comportement attendu par l’auteur originel, le test échouera. Si votre code est couvert par un test unitaire cohérent, vous pouvez maintenir le code sans casser la fonctionnalité existante. C’est la raison pour laquelle Michael Feathers définit du '''code hérité''' comme du ''code sans test unitaire''.


[[File:https://less.works/img/technical-excellence/xunit_test.png.pagespeed.ic.U9rHA2rtat.webp]]
[[File:https://less.works/img/technical-excellence/xunit_test.png.pagespeed.ic.U9rHA2rtat.webp]]