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在他们之中。
    Note− 测试函数的名称仍应以“test”开头。