Повторяющийся код в тестовом блоке 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 методы.

Что я делаю неправильно?

Ответы на вопрос(4)

Ваш ответ на вопрос