Ich versuche, einige Testfälle aufzubauen, und habe gelesen, dass Sie versuchen sollten, die Anzahl der Zusicherungen pro Testfall zu begrenzen.
Meine Frage ist also, wie man am besten eine Funktion mit mehreren Eingängen testet. Zum Beispiel habe ich eine Funktion, die eine Zeichenfolge vom Benutzer analysiert und die Anzahl der Minuten zurückgibt. Die Zeichenfolge kann in der Form vorliegen "5w6h2d1m"
, wobei w, h, d, m
die Anzahl der Wochen, Stunden, Tage und Minuten entspricht.
Wenn ich der Aussage "1 Assertion pro Testregel" folgen wollte, müsste ich für jede Variation der Eingabe mehrere Tests durchführen. Das kommt mir albern vor, stattdessen habe ich nur so etwas wie:
self.assertEqual(parse_date('5m'), 5)
self.assertEqual(parse_date('5h'), 300)
self.assertEqual(parse_date('5d') ,7200)
self.assertEqual(parse_date('1d4h20m'), 1700)
In dem einen Testfall. Gibt es einen besseren Weg?