我通常按照以下方式进行参数测试
class ShouldCheckSomeCondition(unittest.TestCase):
def __init__(self, parameters...):
...
def runTest():
# given
...
cases = [(p1, ...), (p2, ...), ...]
然后在文件底部构建它们并创建一个main来运行它们:
def suite():
test_suite = unittest.TestSuite()
test_suite.add_tests([ShouldCheckSomeCondition(*params) for params in ShouldCheckSomeCondition.cases])
return test_suite
if __name__ == '__main__':
unittest.TextTestRunner().run(suite())
这很好,所有我可以运行一个测试文件就好了。但是,我不能鼻子支持这个。它的发现试图构建每个案例并失败。 'main'被忽略了。有没有人有一个很好的方法来运行以这种方式编写的许多测试文件? 或者,有没有其他方法可以很好地在python中编写参数测试,以便某些测试运行器可以处理它?</ p>