如何从配置了参数化的集合中运行单个测试?
假设我有以下测试方法:
@pytest.mark.parametrize(PARAMETERS_LIST, PARAMETERS_VALUES)
def test_my_feature(self, param1, param2, param3):
"""
test doc
"""
if param1 == 'value':
assert True
else:
print 'not value'
assert False
我有 3 个参数,并为它们生成 15 个不同可能值的列表,以测试该函数。
我怎样才能只运行其中一个?除了显而易见的方式 - 给出单个值而不是 15。
You can 指定要运行的测试 https://docs.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests通过使用-k
用于过滤与字符串表达式匹配的测试的标志。使用参数化时,pytest 使用以下约定命名每个测试用例:
test_name['-'分隔的测试输入]
例如
test_name[First_test_value-Second_test_value-N_test_value]
例如,选择要运行的特定测试是将上述所有内容放在一起的问题
pytest -k 'my_test[value_1-value_2]'
or
pytest -k my_test\[value_1-value_2\]
您需要转义方括号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)