Повторяющийся код в тестовом блоке unittest
У меня есть тестовый пример, который выглядит так:
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
Теперь я понимаю, что тестовый код может быть немного повторяющимся, поскольку простота важнее, чем краткость. Но это становится действительно подверженным ошибкам, так как, когда я решил изменить сигнатуру некоторых функций, используемых здесь, мне пришлось вносить изменения во всех 30 местах.
Я мог бы преобразовать это в цикл по известным входам, но я хочу, чтобы каждый вход оставался отдельным тестом, поэтому я подумал, что должен сделатьtest_inputxx
методы.
Что я делаю неправильно?