1

我有以下测试目录结构,每个都有自己的 conftest.py:

    tests/api
    tests/api/newapi
    tests/sanity

在 conftest.py 中,pytest_addoption 具有与 test_option 相同的选项条目:

parser.addoption("--test_option", dest="test_option", type="string", help="test_option")

在 tests/api/newapi 执行 py.test 有以下错误:

optparse.OptionConflictError:选项--test_option:冲突的选项字符串:--test_option

但是在 tests/api 或 tests 或 tests/sanity 执行 py.test 可以正常工作。如果父目录具有相同的选项名称,这是我必须想出一个新的选项名​​称的设计吗?

我希望我可以保持命名约定相同,因为有问题的选项用于测试的目的相同。目的是根据从哪个目录启动测试来改变测试的详细程度。

4

1 回答 1

1

我认为你应该有一个 tests/conftest.py ,它通过 pytest_addoption 定义选项,你将能够从任何地方访问它,因为所有 conftest.py 文件都被考虑在内(所以你可能仍然在 tests/newapi/conftest.py 和使用选项值)。

于 2012-08-02T17:27:16.700 回答