gpt4 book ai didi

python - conftest.py 可以_read_ pytest.ini 中的现有值吗?

转载 作者:行者123 更新时间:2023-12-04 16:45:49 34 4
gpt4 key购买 nike

conftest.py 可用于在 pytest.ini 中定义属性,使用 parser.addini()但是 conftest.py 也可以从 pytest.ini 读取现有值吗?

我想查看pytest.ini中某个参数的值,并用它来设置pytest.ini中另一个参数的默认值

这是否可能而不必自己在 conftest.py 中使用 configparser?

最佳答案

I would like to look at the value of a parameter in pytest.ini and use it to set the default value of another parameter in pytest.ini



最好是添加 pytest_configure 的自定义实现钩。示例:假设您在 conftest.py 中定义了两个自定义 ini 选项。 :
def pytest_addoption(parser):
parser.addini("fizz", help="help for my key", default="buzz")
parser.addini("spam", help="help for my key", default="eggs")

现在 spam应设置为 bacon每当 fizz不是 buzz (不是默认值)。扩展 conftest.py和:
def pytest_configure(config):
fizz = config.getini("fizz")
spam = config.getini("spam")
print("values parsed from ini: fizz:", fizz, "spam:", spam)

if not fizz == "buzz":
# override parsed ini value
config._inicache["spam"] = "bacon"

print("spam was replaced to:", config.getini("spam"))

运行时 pytest -s (并且 fizzbuzz 中设置为除 pytest.ini 以外的其他值),您将获得以下输出:
values parsed from ini: fizz: fuzz spam: eggs
spam was replaced to: bacon
============================= test session starts =============================
...

关于python - conftest.py 可以_read_ pytest.ini 中的现有值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61433941/

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