在测试结束时获取pytest中所有请求的灯具列表

时间:2015-07-09 05:59:35

标签: python pytest fixtures

我有以下示例代码:

# 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()实际上跑了。我只需要知道用户想要运行它。

编辑:我承认我在这里滥用终结者。我也欢迎任何关于更好地处理拆解功能的建议。

有没有办法做到这一点?

0 个答案:

没有答案