python - Pytest:如何在测试之外访问命令行参数

标签 python pytest

我想访问从非测试类中传递给 pytest 的命令行参数。

我已将以下内容添加到我的 conftest.py 文件中

def pytest_addoption(parser):  # pragma: no cover
  """Pytest hook to add custom command line option(s)."""
  group = parser.getgroup("Test", "My test option")
  group.addoption(
    "--stack",
    help="stack", metavar="stack", dest='stack', default=None)

但我不知道如何访问命令行上传递的值。我找到了有关如何从 fixture 访问它的代码,但我想从不属于测试用例的方法或类访问它。

最佳答案

您可以使用 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)

关于python - Pytest:如何在测试之外访问命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43172467/

相关文章:

python - 设置 docker 容器,以便我可以访问 ubuntu 服务器上的 python 包

python - 自动收集与pytest中几种不同模式匹配的文件名

python - 使用pytest对学生代码进行测试和评分

python - Selenium 在单击后给出服务器错误 500(Django、pytest)

python - 你如何用 Python 中的列表交叉检查字典?

python - REGEX 删除注释和前导/尾随空格

python - 按参数列表过滤数据帧

c++ - 是否可以在我的 C++ 程序中嵌入任何 Python 编辑控件?

python - 如何使用我自己的 pytest 类动态添加 pytest 标记?

python - 使用 pytest 运行单个测试方法失败(未找到)