py.test 夹具如何更改夹具的范围



我以两种模式运行测试:使用裸pytest和pytest-xdist。我有一个用模块范围定义的重型夹具。在这个夹具中,我对使用 xdist 运行测试的情况进行了一些优化:

@pytest.fixture(scope="module")
def myfixture(request):
    if running_with_pytest:
        pass
    else:
        pass

它工作正常,但我也想将灯具的范围更改为session(如果我使用 xdist 运行测试)。

我该怎么做?

我很好地尝试了命令行选项,但似乎夹具参数scope只接受字符串值,不能接受可调用函数:https://github.com/pytest-dev/pytest/issues/1682

我想只需要等到问题解决。但是,如果您弄清楚了这一点,请分享您的解决方案。

最新更新