« LeSS - Tests unitaires » : différence entre les versions
De Wiki Agile
| Ligne 168 : | Ligne 168 : | ||
Et lorsqu’un test unitaire échoue, il devrait nous fournir toutes les informations nécessaires. L’objectif est de limiter la durée pendant laquelle vous êtes occupés à débogguer le code concerné. | Et lorsqu’un test unitaire échoue, il devrait nous fournir toutes les informations nécessaires. L’objectif est de limiter la durée pendant laquelle vous êtes occupés à débogguer le code concerné. | ||
=== Arranger, Agir, Auditer (Arrange, Act, Assert) === | === Arranger, Agir, Auditer (''Arrange'', ''Act'', ''Assert'') === | ||
A good pattern to follow in a unit test is “'''AAA'''”: '''Arrange''', '''Act''' and '''Assert'''. | A good pattern to follow in a unit test is “'''AAA'''”: '''Arrange''', '''Act''' and '''Assert'''. | ||
| Ligne 178 : | Ligne 178 : | ||
Si vous pouvez repérer ce schéma dans chacun de vos cas de tests, vos tests devraient facile à comprendre, et ils devraient s’avérer suffisamment spécifiques et aller droit au but. Un cas de test unitaire devrait tester une seule et unique chose. Par conséquent, il devrait y avoir un seul AAA dans un cas de test. Un cas de test ne devrait pas être très prolixe (c’est-à-dire plus de 10 lignes de code) s’il suit le schéma AAA. | Si vous pouvez repérer ce schéma dans chacun de vos cas de tests, vos tests devraient facile à comprendre, et ils devraient s’avérer suffisamment spécifiques et aller droit au but. Un cas de test unitaire devrait tester une seule et unique chose. Par conséquent, il devrait y avoir un seul AAA dans un cas de test. Un cas de test ne devrait pas être très prolixe (c’est-à-dire plus de 10 lignes de code) s’il suit le schéma AAA. | ||
import unittest class TestGroupForTextWrapping(unittest.TestCase): | <pre>import unittest class TestGroupForTextWrapping(unittest.TestCase): | ||
def test\_pas\_de\_retour\_à\_la\_ligne\_lorsque\_longueur\_de\_la\_chaîne\_de\_caractères\_de\_5\_et\_largeur\_de\_la\_ligne\_de\_10(self): | |||
\# Arrange : Mettre en place toutes les préconditions nécessaires ainsi que les entrées. | \# Arrange : Mettre en place toutes les préconditions nécessaires ainsi que les entrées. | ||
wrapper = TextWrapper(width=10) | wrapper = TextWrapper(width=10) | ||