在打包Python模块时,我应该把测试放在哪里?
问题描述
我有一个位于名称空间的模块。测试所依赖的测试和数据应该放在命名空间中还是放在setup.py站点的顶层?
./company/__init__.py
./company/namespace/__init__.py
./company/namespace/useful.py
./company/namespace/test_useful.py
./company/namespace/test_data/useful_data.xml
./setup.py
或
./company/__init__.py
./company/namespace/__init__.py
./company/namespace/useful.py
./test_useful.py
./test_data/useful_data.xml
./setup.py
该问题是否等同于是否应安装测试?
解决方案
您应该将测试模块放入它根据The Hitchhiker's Guide to Packaging测试的模块中。
以下是他们的示例:
TowelStuff/
bin/
CHANGES.txt
docs/
LICENSE.txt
MANIFEST.in
README.txt
setup.py
towelstuff/
__init__.py
location.py
utils.py
test/
__init__.py
test_location.py
test_utils.py
这样,您的模块将随其测试一起分发,并且用户可以使用它们来验证它是否与其设置一起工作。
请参阅http://the-hitchhikers-guide-to-packaging.readthedocs.org/en/latest/creation.html。
相关文章