如何使用pytest运行所有测试或仅收集用例且忽略全部marker
Pytest 环境下忽略所有 marker 配置的实现方案
1. 核心适用场景说明
以下方案针对 pytest 框架设计,可解决配置文件预设 marker 筛选规则、marker 绑定跳过逻辑导致无法全量执行/收集用例的问题,适配万级用例、数百自定义 marker 的大规模仓库场景。
2. 全量运行所有测试用例
如果仅需要执行所有测试用例,忽略配置文件预设的 marker 筛选规则,使用以下命令:pytest --override-ini addopts=
该命令会清空 pytest 配置文件(pytest.ini/pyproject.toml/tox.ini 等)中预设的 addopts 参数,移除所有自带的 marker 过滤逻辑,所有符合 pytest 用例识别规则的测试用例都会被正常执行。
如果需要同时忽略所有通过 marker 标记的 skip/xfail 跳过逻辑,额外添加 --no-skip 参数即可:pytest --override-ini addopts= --no-skip
3. 仅收集测试用例不执行
如果只需要完成用例收集操作,不需要实际运行用例,在上述命令基础上添加 --collect-only 参数即可:
- 忽略配置 marker 筛选,收集所有可执行用例:
pytest --override-ini addopts= --collect-only - 同时忽略 skip 类 marker 逻辑,收集全量用例:
pytest --override-ini addopts= --collect-only --no-skip
收集完成后会直接输出所有匹配到的用例列表,不会触发任何用例执行逻辑,执行效率不受 marker 数量影响。
内容的提问来源于stack exchange,提问作者Liang HE
相关产品推荐
相关产品推荐

