我有以下示例代码:
# In my conftest.py
@pytest.mark.fixture(scope="function")
def func_fix():
...
@pytest.mark.fixture(scope="session")
def sess_fix():
...
def pytest_unconfigure(config):
# HELP NEEDED
# In my test code:
def test_foo(sess_fix, func_fix):
...
我想根据是否请求func_fix()
在pytest_unconfigure中执行操作。在获得request
的另一个夹具中,我可以检查request.fixturenames
,但我不确定如何在pytest_unconfigure()中执行此操作。我目前的解决方案是在config.foo = bar
中设置func_fix()
,然后在pytest_unconfigure()
中检查,假设一切正常。
问题是当sess_fix()
失败时,config.foo = bar
显然还没有设置,所以我无法在pytest_unconfigure()
中采取行动。
我不需要func_fix()
实际上跑了。我只需要知道用户想要运行它。
有没有办法做到这一点?