gpt4 book ai didi

python - 在 Python 包的 unittest 测试套件中包含额外文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:36 38 4
gpt4 key购买 nike

我正在开发一个小型 Python 包,并且正在为其编写单元测试。我的包结构以相当典型的 Python 方式布局:

mypackage/
mymodule.py
test/
test_mymodule.py

这个特殊的模块被设计用来读取一个文件的内容,用所说的内容做一些事情,然后返回一个值。为了对此进行测试,我想在我的测试套件中包含一些输入文件。

我想我可以这样组织它们:

mypackage/
mymodule.py
test/
test_mymodule.py
test_input01.txt
test_input02.txt

然后使用__file__ 全局变量定位要读取的文件。

我的问题是:这是一种合理的 Pythonic 组织方式吗?我担心以这种方式猜测路径在任何环境中都不可靠(例如,如果包是通过 pip 等安装的)。

具体来说,我正在寻找 1) 一些支持这种(或其他)方法的官方文档,或者 2) 使用这种(或其他)方法的备受推崇的现有项目。

最佳答案

使用 __file__ 来定位当前目录路径和测试数据所在的位置是非常好的。

例如,参见 pep8 github 项目,特别注意测试在 testsuite 包中的组织方式 - *.py 文件,名称如 E10.pyE11.py 用作测试中的目标文件。

此外,pylint使用类似的方法(基于 __file__),但测试数据组织在 subpackages 中.

另见:

希望对您有所帮助。

关于python - 在 Python 包的 unittest 测试套件中包含额外文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033844/

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