主要问题是:我是否应在软件包中包含用于我的代码的测试套件?我并不是说既不是测试框架也不是测试工具(例如鼻子测试),而是我每次为了检查代码的正确性而运行的基本测试.
我一直在关注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软件包的已部署版本运行测试用例.