使用 自定义选项
@pytest.fixture(scope="session")
def sys_env(request):
print(request.config.getoption("--env"))
yield request.config.getoption("--env")
对比以下两段代码,一个很小的点。对于我区分不了 store_true 和 store 之间的不同,困扰了一会。
def pytest_addoption(parser):
parser.addoption(
"--env",
action="store_true", # 需要注意这个参数值
default="test",
choices=["test", "dev", "pro"],
type=str,
help="Keep containers after test run",
)
上面这一段代码,执行起来会报错。多了一个 choices 参数。
(去掉 choices 和 type 参数的话打印结果 是 true )
def pytest_addoption(parser):
parser.addoption(
"--env",
action="store", # 注意这个参数值
default="test",
choices=["test", "dev", "pro"],
type=str,
help="Keep containers after test run",
)
上面一段代码,执行起来就是预期的结果。
有哪位大佬能告诉我在官方文档中找到 action中 store_true 和 store 的区别