python软件包-是否包含测试套件

主要问题是:我是否应在软件包中包含用于我的代码的测试套件?我并不是说既不是测试框架也不是测试工具(例如鼻子测试),而是我每次为了检查代码的正确性而运行的基本测试.

我一直在关注setuptools tutorial,我有两个模块:nac(代码本身)和测试. setup.py如下所示:

setup(
    ...
    packages = ['nac', 'tests'],
    ...
)

这就是在/usr/local/lib/python2.7/dist-packages/中安装它的方式:

dist-packages/
  nac/
  tests/

我很确定我现在所拥有的不是最终的解决方案,因为tests包是指nac包-但是您可以通过查看dist-packages目录来弄清楚.我当时正在考虑创建一个包含两个子模块的大型nac模块:核心和测试.这是一个好方法吗?是否有解决此问题的标准pythonic方法?

解决方法:

最好将测试用例放在主程序包下,即nac.tests.测试用例可以使用绝对导入来加载主nac包.

nac-project/
    nac/
        tests/
    setup.py

这样,您可以针对1)本地版本或2)nac软件包的已部署版本运行测试用例.

上一篇:python-为什么在PyPI上不使用setup.py元数据?


下一篇:如何使用setuptools和setup.py从包中排除单个文件