运行 Python 中的参数测试
Running parametric tests in Python
我的参数测试通常如下
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 中编写参数测试,以便某些测试 运行 人员可以处理它?
既然你在用鼻子工作,我会说看看 parameterized which is a continuation from nose-parameterized
我的参数测试通常如下
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 中编写参数测试,以便某些测试 运行 人员可以处理它?
既然你在用鼻子工作,我会说看看 parameterized which is a continuation from nose-parameterized