gpt4 book ai didi

python - pytest 以及为什么要避免初始化文件

转载 作者:行者123 更新时间:2023-11-28 16:33:48 25 4
gpt4 key购买 nike

曾几何时,pytest 文档现在位于 https://docs.pytest.org/en/latest/goodpractices.html曾经说过:

avoid “__init__.py” files in your test directories. This way your tests can run easily against an installed version of mypkg, independently from the installed package if it contains the tests or not.

我不明白下面的引述:

  1. mypkg 的安装版本是什么意思?如果我有一个简单的 Flask 应用程序,当您在本地主机上访问根目录时它只会说“hello world”,我怎么能安装应用程序呢?
  2. 安装版本与安装包有何不同?
  3. “是否包含测试”是什么意思?与测试发现有关吗?
  4. 有人能实际解释一下没有 __init__.py 有什么好处吗?

最佳答案

py.test 需要通过向 sys.path 添加一个目录来使测试可导入,如果您在项目根目录中有一个测试文件夹并且其中有一个 __init__.py,然后 py.test 将选择项目根目录进行路径插入,因此它始终首先使源代码树可导入,这可以在运行测试时隐藏已安装版本中的错误

避免该问题的另一种方法是使用 src 文件夹并在 setup.py 中使用 package_dirs 选项

关于python - pytest 以及为什么要避免初始化文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29153922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com