Wiederholter Code im unittesten Testfall
Ich habe einen Testfall, der so aussieht:
def MyTestCase(unittest.Testcase):
def test_input01(self):
input = read_from_disk('input01')
output = run(input)
validated_output = read_from_disk('output01')
self.assertEquals(output, validated_output)
def test_input02(self):
input = read_from_disk('input02')
# ...
# and so on, for 30 inputs, from input01 to input30
Ich verstehe jetzt, dass sich Testcode ein bisschen wiederholen kann, da Einfachheit wichtiger ist als Prägnanz. Dies ist jedoch sehr fehleranfällig, da ich, als ich mich entschied, die Signatur einiger hier verwendeter Funktionen zu ändern, die Änderung an allen 30 Stellen vornehmen musste.
Ich könnte dies in eine Schleife über die bekannten Eingänge umgestalten, aber ich möchte, dass jeder Eingang ein separater Test ist, also dachte ich, ich sollte den machentest_inputxx
Methoden.
Was mache ich falsch?