gpt4 book ai didi

python - 从命令行运行测试时如何覆盖 pytest.ini?

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:39 25 4
gpt4 key购买 nike

我有一个包含多个 python 包的代码库。还有一个包含这些文件名称的 pytest.ini 文件。

示例目录结构:

main_dir
|
|
|--- package1
|
|--- package2
|
|--- pytest.ini

pytest.ini 看起来像这样

[pytest.ini]
addopts = package1 package2

问题是因为 pytest.ini 我无法运行测试包明智。例如 py.test package1\ 现在也运行 package2 测试。

如果我删除 pytest.ini 文件,该命令将按预期工作。我看到的唯一选择是维护一个未提交的 pytest.ini 版本,我会根据需要不断更改它。

如何覆盖 pytest.ini 设置并仅在包明智的情况下运行测试?

最佳答案

您可以使用-o/--override-ini。来自 pytest 帮助文本:

 -o OVERRIDE_INI, --override-ini=OVERRIDE_INI
override ini option with "option=value" style, e.g. `-o
xfail_strict=True -o cache_dir=cache`.

但是您的情况需要另一种解决方法,因为您的 addopts 选项不是 option=value 的形式,因为它是一个位置参数。

#pytest.ini file
[pytest]
addopts =
-k="package1 or package2"

并且,在运行测试时,您可以使用 pytest -o k=package1-k用于根据表达式选择测试。

关于python - 从命令行运行测试时如何覆盖 pytest.ini?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31019092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com