首页 > 解决方案 > 如何禁用 pytest 固定装置?

问题描述

我正在尝试与经典单元测试分开运行夹具测试。

为此,我用@pytest.mark.fixtures装饰器标记了所有固定装置,例如:

conftest.py

@pytest.fixture(scope="session")
def fs():
    pass

test_something.py

@pytest.mark.fixtures
def test_xxx(fs):
    pass

@pytest.mark.fixtures
def test_yyy():
    pass

然后运行两个 pytest 命令(在 tox 内):

pytest -v -m fixtures --junitxml={toxinidir}/tests/output/pytest-fixtures.xml
pytest -v -m "not fixtures" --junitxml={toxinidir}/tests/output/pytest.xml

问题是第二次 pytest 运行仍会创建我的会话夹具,尽管我不会使用它,因为我跳过了标有上述fixtures标记的测试。


如何在第二次“非固定装置”运行时禁用固定装置(或跳过会话范围的固定装置)?

标签: pytestfixtures

解决方案


推荐阅读