曾几何时,pytest 文档现在位于https://docs.pytest.org/en/latest/goodpractices.html的 pytest 文档曾经说过:
\n\n\n\n\n\n
__init__.py避免测试目录中的\xe2\x80\x9c \xe2\x80\x9d 文件。这样您的测试就可以轻松地针对已安装的版本运行mypkg,无论安装的包是否包含测试,都独立于该包。
我不明白以下引用:
\n\nmypkg?如果我有一个简单的 Flask 应用程序,当您在本地主机上点击根目录时仅显示“hello world”,我如何关联安装应用程序?__init__.py是好的吗?小智 5
py.test 需要通过向 sys.path 添加一个目录来使测试可导入,如果项目根目录中有一个 test 文件夹,并且其中有一个 test 文件夹__init__.py,那么 py.test 将选择项目根目录进行路径插入,因此总是使首先导入源代码树,这可以在运行测试时隐藏已安装版本中的错误
避免此问题的另一种方法是拥有一个src文件夹并使用 package_dirs 选项setup.py