pytest命令行参数失败

时间:2017-01-10 21:03:44

标签: python command-line-arguments pytest

我在与我的测试文件相同的目录级别添加了conftest.py。我的conftest.py的内容:

 import pytest

    def pytest_addoption(parser):
        parser.addoption("--l", action="store", help="Get license value")
    @pytest.fixture
    def lic(request):
        return request.config.getoption("--l")

以下是我的测试文件def

   def  test(lic):
        print "testing license : %s"%lic
        assert 0

但我仍然得到以下错误:

   pytest  .\source\test_latestLinuxAgent.py --l=test
        pytest : usage: pytest [options] [file_or_dir] [file_or_dir] [...]
        At line:1 char:1
        + pytest  .\source\test_latestLinuxAgent.py --l=test


        pytest: error: ambiguous option: --l=test could match --lf, --last-failed

1 个答案:

答案 0 :(得分:1)

正如回应所说,--l选项含糊不清。这是什么意思?

让我用一个例子解释一下。如果您有--zaaaa选项,则其快捷方式为--z。但是,有一个条件:--zaaaa必须是以z char开头的唯一选项。否则,解释器不知道应该选择哪个选项。

您无法定义--l选项,因为有两个以l char开头的选项:--lf--last-failed

我建议创建非冲突选项,--license会很好。