在(test。)pypi包中包含单元测试

时间:2019-05-25 15:51:42

标签: python unit-testing pip workflow pypi

我的软件包中有一组单元测试,这些单元测试在我的开发流程中可以很好地运行,并且当我推送到github时会自动运行(使用travis)。在pypi上分发项目之前,我已上载到测试pypi服务器(https://test.pypi.org),但是目前尚不清楚如何测试软件包。我从未见过官方发行版中包含过单元测试,而且我seen some answers建议不要这样做。 但是,如何才能测试代码的实际打包版本是否正常工作?

我确实尝试将单元测试包含在pypi发行版中:在我的MANIFEST.in中,

include PACKAGE/tests
recursive-include PACKAGE/tests *

我在include_package_data=True,中添加了setup.py,并在其中添加了一个__main__.py文件,

import nose
nose.main()

在其中。当我将pip安装的软件包作为模块运行时(即python -m PACKAGE),它找不到要运行的任何单元测试。 这是错误的方向,并且有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

无需对软件包进行测试以对其进行测试。您可以从pypi安装该软件包,确保python解释器找到了已安装的软件包(不是该软件包的某些本地工作副本),然后运行测试脚本的本地副本。