Pytest 测试名称的子串匹配
要执行名称中包含一个字符串的测试,我们可以使用以下语法 –
pytest -k <substring> -v
-k <substring>
代表要在测试名称中搜索的子串。
现在,运行以下命令-
pytest -k great -v
这将执行所有名称中含有 ‘great ‘一词的测试。在本例中,它们是 test_greater() 和 test_greater_equal() 。 请看下面的结果。
test_compare.py::test_greater FAILED
test_compare.py::test_greater_equal PASSED
============================================== FAILURES
==============================================
____________________________________________ test_greater
____________________________________________
def test_greater():
num = 100
> assert num > 100
E assert 100 > 100
test_compare.py:3: AssertionError
========================== 1 failed, 1 passed, 3 deselected in 0.07 seconds
==========================
在这里的结果中,我们可以看到3个测试被取消选择。这是因为这些测试名称中不包含 great 这个词。
注意 - 测试函数的名称仍应以 “test “开头。