有没有办法忽略py.test中的test / conftest.py?

时间:2015-03-19 11:43:36

标签: pytest

没有移动任何代码(我意识到我可以重构,但由于各种不方便的原因),有没有办法调用py.test而忽略conftest.py?

我想:

py.test -p no:pytestconfig

可能有用,但似乎没有。

4 个答案:

答案 0 :(得分:5)

不确定。 使用pytest --trace-config找到您不想加载的conftest.py. 然后使用-p no:<path>/conftest.py告诉pytest不要使用它。

例如,如果conftest.py文件位于当前目录中,则可以使用(如果使用bash):

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

答案 1 :(得分:4)

使用:

py.test --noconftest 

根据py.test --help:

  

- noconftest不要加载任何conftest.py文件。

答案 2 :(得分:2)

一方面,conftest.py无法忽略或重命名,有关原因的详细信息,请参阅https://github.com/pytest-dev/pytest/issues/1569#issuecomment-221790555

另一方面,如该链接所述,您可以创建一个模块(可能只是将whatever_name_you_like.py重命名为conftest.py,或者它可能是一个更复杂的模块:您的选择) 。然后创建一个仅包含

pytest_plugins= ['whatever_name_you_like']

py.test

此时,您可以通过-p no:whatever_name_you_like

调用.py来忽略它

请注意,作为这些模块名称,没有一个具有{{1}}扩展名,但文件本身。

答案 3 :(得分:0)

根据py.test issue 82

也许

py.test --confcutdir

可能会有帮助。