2015-03-19 87 views
2

沒有移動任何代碼(我知道我可以重構,但由於各種原因,這是不方便的),有沒有辦法調用py.test,而忽略conftest.py?有沒有辦法忽略py.test中的test/conftest.py?

我想象:

py.test -p no:pytestconfig 

可能的工作,但現在看來似乎沒有。

回答

0

根據py.test issue 82

也許

py.test --confcutdir

5月幫助。

2

一方面,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忽略它,但該文件本身。

1

當然。 使用pytest --trace-config並找到您不想加載的conftest.py。 然後用-p no:<path>/conftest.py告訴pytest不要使用它。

例如,如果conftest.py文件是在當前目錄工作正常(如果使用bash,當然):

pytest -p no:$(pwd)/conftest.py

1

用途:

py.test --noconftest 

據PY .test --help:

--noconftest請勿加載任何conftest.py文件。

相關問題