次のテスト ディレクトリ構造があり、それぞれに独自の 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 を実行すると問題なく動作します。親ディレクトリに同じオプション名がある場合、新しいオプション名を考え出す必要があるのは仕様によるものですか?
問題のオプションはテストで同じ目的を果たすため、命名規則を同じに保つことができることを望んでいました。その意図は、テストが開始されたディレクトリに応じて、テストの詳細レベルを変えることです。