我正在学习 pytest 以在我们的实验室中使用,我们使用多台具有不同测试配置的机器。每台机器都有自己的 conftest 文件,其中包含特定于其测试环境的参数,例如测试盒的 ipaddresses 等。 Pytest 从包含其 conftest 文件的每台本地机器( ../pytest/cfg/machine1
)运行。 pytest 可执行文件位于远程目录中。所以命令是:
# ../pytest/cfg/machine1 py.test -vs /dir/path/to/pytest/executable
这工作正常,直到我添加了自定义选项。现在看来 pytest 无法再在我运行它的目录中找到 conftest 文件。我发现了一个未记录的选项
--confcutdir
这似乎解决了这个问题。这是最好的解决方案吗?为什么会首先出现这种情况? pytest 文档并不清楚为什么会失败或如何纠正它。
最佳答案
我的印象是你很可能需要使用 pytest-xdist
http://pytest.readthedocs.org/en/2.0.3/xdist.html
它允许您在远程机器上运行测试
在你的情况下,它不会分布在机器上,而是在所有机器上运行相同的测试
然后您可以根据实际运行的机器测试直接在钩子(Hook)/fixture 中调整测试配置
这不是直接的答案,而是一个建议,您可以如何改进您的测试,而您最初遇到的问题将不会是这样。
关于python - pytest 使用自定义选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24020249/