我有一个看起来像这样的测试用例:
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
Run Code Online (Sandbox Code Playgroud)
现在,我知道测试代码可能有点重复,因为简洁比简洁更重要.但这变得非常容易出错,因为当我决定更改这里使用的某些功能的签名时,我不得不在所有30个地方进行更改.
我可以将它重构为已知输入的循环,但我确实希望每个输入都保持单独的测试,所以我认为我应该制作这些test_inputxx方法.
我究竟做错了什么?