Powtarzalny kod w najcudowniejszym pudełku testowym
Mam testcase, który wygląda tak:
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
Teraz rozumiem, że kod testowy może być nieco powtarzalny, ponieważ prostota jest ważniejsza niż zwięzłość. Ale to staje się bardzo podatne na błędy, ponieważ kiedy zdecydowałem się zmienić podpis niektórych używanych tutaj funkcji, musiałem dokonać zmiany we wszystkich 30 miejscach.
Mogę to zmienić w pętlę znaną z wejść, ale chcę, aby każde wejście pozostało osobnym testem, więc pomyślałem, że powinienem zrobićtest_inputxx
metody.
Co ja robię źle?