我想访问从非测试类中传递给pytest的命令行参数。
我已将以下内容添加到我的conftest.py文件
中30 x 30 px
但我无法弄清楚如何访问命令行传递的值。我找到了如何从夹具访问它的代码,但我想从一个不属于测试用例的方法或类中访问它。
答案 0 :(得分:1)
您可以使用sys.argv
访问参数。
当您使用命令行调用时,它将返回您发送的所有语句的列表。
例如
def pytest_addoption(parser): # pragma: no cover
"""Pytest hook to add custom command line option(s)."""
params = sys.argv[1:]
group = parser.getgroup("Test", "My test option")
group.addoption(
"--stack",
help="stack", metavar="stack", dest='stack', default=None)
答案 1 :(得分:0)
是的,您可以在 conftest.py 中再添加一个 pytest 钩子 pytest_configure
,如下所示:
stack = None
def pytest_configure(config):
global stack
stack = config.getoption('--stack')
现在您的参数堆栈在全球范围内可用。