我有一个如下所示的测试用例:
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
方法。
我究竟做错了什么?
编写一个辅助函数来删除测试用例中的重复:
def MyTestCase(unittest.Testcase):
def run_input_output(self, suffix):
input = read_from_disk('input'+suffix)
output = run(input)
validated_output = read_from_disk('output'+suffix)
self.assertEquals(output, validated_output)
def test_input01(self): self.run_input_output('01')
def test_input02(self): self.run_input_output('02')
def test_input03(self): self.run_input_output('03')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)