没有移动任何代码(我意识到我可以重构,但由于各种不方便的原因),有没有办法调用py.test而忽略conftest.py?
我想:
py.test -p no:pytestconfig
可能有用,但似乎没有。
答案 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)