1

任何人都可以帮助解决以下要求。在为整个模块启动测试套件之前,我必须连接到 VM。我通过为该套件使用 Conftest 获得了成功。但是现在,我想使用 Xdist 插件将测试分发到多个 CPU/内核....当我尝试这样做时,每个进程都运行 conftest 并且我有多个连接的实例。有没有办法在开始分发之前运行 conftest ?或者有没有办法以任何不同的方式实现这一目标?

4

1 回答 1

1

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

# 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

于 2014-03-20T15:00:27.780 回答