如何使用@pytest.mark.xxx在pytest中自定义标签,并通过-m参数过滤运行特定模块?
- 内容介绍
- 文章标签
- 相关推荐
本文共计538个文字,预计阅读时间需要3分钟。
在测试函数或类上添加装饰器进行特性化标记,以便在测试运行时识别并执行特定的测试用例。以下是一个示例,展示了如何标记一个测试用例为慢速测试:
pytest -m 怎么精准筛选带标签的测试
命令行用 -m 后跟表达式,不是简单字符串匹配:
-
pytest -m slow→ 运行所有打了@pytest.mark.slow的测试 -
pytest -m "not slow"→ 排除slow,运行其余 -
pytest -m "slow and integration"→ 必须同时有这两个标签 -
pytest -m "smoke or fast"→ 满足其一即可
-m smoke 会把函数名含 smoke 的测试也拉进来(比如 test_smoked_bacon),因为 pytest 默认做“名称模糊匹配”。要严格按标签过滤,得加引号:-m "smoke"。本文共计538个文字,预计阅读时间需要3分钟。
在测试函数或类上添加装饰器进行特性化标记,以便在测试运行时识别并执行特定的测试用例。以下是一个示例,展示了如何标记一个测试用例为慢速测试:
pytest -m 怎么精准筛选带标签的测试
命令行用 -m 后跟表达式,不是简单字符串匹配:
-
pytest -m slow→ 运行所有打了@pytest.mark.slow的测试 -
pytest -m "not slow"→ 排除slow,运行其余 -
pytest -m "slow and integration"→ 必须同时有这两个标签 -
pytest -m "smoke or fast"→ 满足其一即可
-m smoke 会把函数名含 smoke 的测试也拉进来(比如 test_smoked_bacon),因为 pytest 默认做“名称模糊匹配”。要严格按标签过滤,得加引号:-m "smoke"。
