沒有移動任何代碼(我知道我可以重構,但由於各種原因,這是不方便的),有沒有辦法調用py.test,而忽略conftest.py?有沒有辦法忽略py.test中的test/conftest.py?
我想象:
py.test -p no:pytestconfig
可能的工作,但現在看來似乎沒有。
沒有移動任何代碼(我知道我可以重構,但由於各種原因,這是不方便的),有沒有辦法調用py.test,而忽略conftest.py?有沒有辦法忽略py.test中的test/conftest.py?
我想象:
py.test -p no:pytestconfig
可能的工作,但現在看來似乎沒有。
一方面,conftest.py
不能被忽略或重命名,詳見https://github.com/pytest-dev/pytest/issues/1569#issuecomment-221790555爲什麼。另一方面,如鏈接中所述,您可以創建一個模塊(它可能只是將conftest.py
重命名爲whatever_name_you_like.py
,或者它可能是一個更復雜的模塊:您的選擇)。然後創建一個conftest.py
包含簡單
pytest_plugins= ['whatever_name_you_like']
在這一點上,你可以通過與-p no:whatever_name_you_like
注意,是這些模塊的名字,沒有人看到.py
延伸援引py.test
忽略它,但該文件本身。
當然。 使用pytest --trace-config
並找到您不想加載的conftest.py。 然後用-p no:<path>/conftest.py
告訴pytest不要使用它。
例如,如果conftest.py文件是在當前目錄工作正常(如果使用bash,當然):
pytest -p no:$(pwd)/conftest.py
用途:
py.test --noconftest
據PY .test --help:
--noconftest請勿加載任何conftest.py文件。