Python: 运行 来自 wheel 或 sdist 的测试

Python: run tests from wheel or sdist

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

明确一点:另一种方法是 运行 直接从本地源文件进行测试,但我想避免这种情况,以确保我测试的是准确的预构建工件用户。安装 (as suggested here).

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

如果有其他方法我应该改用,我洗耳恭听。

您可以做的是:

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

正如 pytest 文档中所指出的,请查看 tox as well for your CI server: http://pytest.org/dev/goodpractises.html#use-tox-and-continuous-integration-servers

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