官方实例
[pytest]
markers =
slow:marks tests as slow(deselect with '-m "not slow"')
serial
# content of test_mark.py
import pytest
@pytest.mark.slow
def test_mark_function():
print("test_mark_function was invoked")
assert 0
解读与实操
通过使用pytest.mark帮助器,你可以轻松地在测试函数上设置元数据。你可以在API参考中找到内置标记的完整列表。
创建自定义标记或将标记应用于整个测试类或模块都非常容易。这些标记可以被插件使用,也通过用于使用-m选项在命令行上选择测试。
标记只能应用于测试,对fixture没有影响。
- 注册markers
- 在测试函数中使用markers
- 调用pytest时增加-m <markers名称>
场景应用
对测试类型进行分类,使用自定义marks很方便,由于测试环境、生产环境能执行的用例不同,只需要将用例增加prod、test、或同时增加prod和test,就可以通过marks来决定执行哪些用例。