pytest 获取命令行选项

时间:2021-05-04 11:06:25

标签: pytest fixtures

我有几个关于 pytest 的命令行选项的问题

  1. 如果可以对同一个选项使用长名称和短名称,例如

    parser.addoption('--server', '-srv', dest = 'SERVER')

  2. 如何按名称访问命令行选项,例如:

    config.option.NAME

     def environment_options(parser):
         parser.addoption('--server', dest= "SERVER")
    
     @pytest.fixture()
     def enfironment_set_up():
         if config.option.SERVER == 'some value': 
            actions
    

pycharm 显示参考未解析的“配置”。我需要导入一些东西吗?

1 个答案:

答案 0 :(得分:2)

据我所知(在文档中没有找到),可以添加一个短名称,但只能添加一个大写字母,例如:

 def environment_options(parser):
     parser.addoption('-S', '--server', dest= "SERVER")

小写字母是为pytest本身保留的,不支持更长的缩写。另请参阅与我有些相关的 answer

您可以通过 config 夹具中的 request 访问该选项:

 @pytest.fixture
 def enfironment_set_up(request):
     if request.config.getoption("SERVER") == 'some value': 
        actions