J'essaie de créer des cas de test et j'ai lu que vous devriez essayer de limiter le nombre d'assertions par cas de test.
Ma question est donc de savoir quelle est la meilleure façon de tester une fonction avec plusieurs entrées. Par exemple, j'ai une fonction qui analyse une chaîne de l'utilisateur et renvoie le nombre de minutes. La chaîne peut être sous la forme "5w6h2d1m"
, où w, h, d, m
correspond au nombre de semaines, heures, jours et minutes.
Si je voulais suivre la «1 assertion par règle de test», devrais-je faire plusieurs tests pour chaque variation d'entrée? Cela semble idiot, alors j'ai juste quelque chose comme:
self.assertEqual(parse_date('5m'), 5)
self.assertEqual(parse_date('5h'), 300)
self.assertEqual(parse_date('5d') ,7200)
self.assertEqual(parse_date('1d4h20m'), 1700)
Dans le seul cas de test. Y a-t-il une meilleure façon?