Python:从wheel或sdist运行测试

Ken*_*ams 5 python testing build setuptools python-wheel

对于我编写的程序包,我已经完成了python setup.py sdist bdist_wheel,它会在dist/目录中生成一些程序包工件。现在,我想在那些工件中运行包的单元测试。有什么好方法吗?

需要明确的是:一种替代方法是直接从本地源文件运行测试,但是我要避免这种情况,以确保我正在测试用户将要安装的确切的预制构件(如此处建议)。

我正在使用Python 3,并且在Linux或Mac OS环境中。我的上下文是一个构建服务器,它在对Git存储库进行提交时生成,测试然后发布工件(到类似PyPI的私有仓库)。

如果还有其他方法我应该改用,那么我很听。

Enr*_*aez 5

你可以做的是:

  • 创建虚拟环境
  • 安装你的包
  • 使用 pytest 等工具针对您安装的库运行测试,您可以在此处阅读有关 pytest 良好实践的更多信息:http ://pytest.org/dev/goodpractises.html

正如 pytest 文档中所指出的,看看你的 CI 服务器的toxhttp : //pytest.org/dev/goodpractises.html#use-tox-and-continuous-integration-servers

这是关于如何使用已安装的包进行测试的相关问题:Force py.test to use installed version of module