在打包Python模块时,我应该把测试放在哪里?

2022-05-26 00:00:00 python testing distribution namespaces

问题描述

我有一个位于名称空间的模块。测试所依赖的测试和数据应该放在命名空间中还是放在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。

相关文章