在发布之前使用pytest xdist运行conftest



有谁能帮助解决以下需求吗?在开始测试套件之前,我必须连接到虚拟机,整个模块只有一次。我成功地在套件中使用了Conftest。但是现在,我想使用Xdist插件....将测试分发到多个CPU/内核当我尝试这样做时,每个进程都运行conftest,并且我有多个连接实例。有没有办法在开始分发之前运行conftest ?或有没有别的方法可以达到这个目的?

您是这样启动虚拟机的吗?

# contents of conftest.py
def startup_vm():
    ...
startup_vm()

如果是这种情况,您可以使用可用的几个插件钩子之一来代替。由于您希望每个测试会话只执行一次钩子,因此可以使用如下内容:

# contents of conftest.py
def startup_vm():
    ...
def pytest_configure(config):
    startup_vm()
def pytest_unconfigure(config):
    shutdown_vm()

完整的插件列表在这里:

http://pytest.org/latest/plugins.html well-specified-hooks

最新更新