【问题标题】:python package - include test suite or notpython包 - 是否包含测试套件
【发布时间】:2013-12-09 09:13:18
【问题描述】:

主要问题是:我是否应该在包中包含我的代码的测试套件?我指的既不是测试框架也不是测试工具(例如nosetests),而是我每次运行以检查代码正确性的基本测试。

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

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

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

dist-packages/
  nac/
  tests/

我很确定我现在所拥有的并不是最终的解决方案,因为 tests 包指的是 nac 包 - 但您无法仅通过查看 dist-packages 目录来弄清楚。我正在考虑创建一个带有 2 个子模块的 nac 大模块:coretests。这是一个好方法吗?有没有标准的pythonic方法来解决这个问题?

【问题讨论】:

    标签: python packages setuptools distutils


    【解决方案1】:

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

    nac-project/
        nac/
            tests/
        setup.py
    

    通过这种方式,您可以针对 1) 本地版本或 2) nac 包的部署版本运行测试用例。

    【讨论】:

    • 我喜欢你的想法。但仍然 - 将测试包含到分布式包中是一种好方法吗?
    • @tkoomzaaskz,我相信这是 PyPI 提供的许多包中的常见做法。问题是最终用户能够在部署后验证包,尤其是当包使用第三方工具部署时,例如pipeasy_install,并且最终用户无法直接访问源压缩包。
    猜你喜欢
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多