Pytest 简明教程

Substring Matching of Test Names

为了执行在其名称中包含字符串的测试,我们可以使用以下语法 -

pytest -k <substring> -v

-k <子字符串> 表示在测试名称中搜索的子字符串。

现在,运行以下命令 -

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

Note − 测试函数的名称仍应以“test”开头。