经常遇到只需要执行包含部分功能的测试函数,执行特定条件的测试函数,通常我们可以通过以下集中方法解决
- 显式指定函数名,通过 :: 标记,运行某个模块里面的某个类的某个方法
pytest 文件名.py::类名::方法名
- 使用模糊匹配,使用 -k 选项标识,执行模块中测试用例名包含关键字的用例
pytest -k "方法名"
上面两种方法,第一种一次只能指定一个测试函数,当要进行批量测试时无能为力;第二种方法可以批量操作,但需要所有测试的函数名包含相同的关键字,也不方便。 - 使用
pytest.mark
标记函数:
pytest.mark.标记名
执行测试的时候使用 pytest -m 标记名
举例:
@pytest.mark.finished
def test_func1():