1

我正在开发一些 python 包,我确实想在将它们发布到 PyPi 之前执行适当的测试。

这将需要运行单元测试

  • 不同的python版本:2.5、2.6、2.7、3.2
  • 不同的操作系统:OS X、Debian、Ubuntu 和 Windows

现在我正在使用 pytest

问题:我怎样才能轻松地实现这一点,最好将结果公开并与 github 集成,这样任何推送的人都会知道结果。

注意:我已经知道https://travis-ci.org/但这似乎缺少跨平台部分,这在这种情况下是必不可少的。

我正在考虑的另一个选择是使用 Jenkins,但我不知道如何提供矩阵测试。

4

2 回答 2

1

我用过 Jenkins,我会推荐它。它有大量的插件,并且是非常可配置的。

我用它在 windows/linux/mac/mobile 平台上运行项目,进行健全性、单元、组件和回归测试。

它可以支持项目和测试的链接,在您的测试环境进行时对要监控的项目进行指纹识别,您还可以设置用户并跟踪更改。

您可以将它同时用于生产和测试,将其连接到您的 git 存储库,您所做的任何更改都会自动通过您想要的所有挑战。

于 2013-04-04T12:34:55.597 回答
0

您可以使用它tox来自动设置虚拟环境并跨 Python 版本运行测试:

[tox]
envlist = py25,py26,py27,py32
[testenv]
commands=py.test

Tox 支持 Python 2.4 及更高版本,以及 Jython 和 PyPy。

如果您想查看使用 的真实项目tox,请查看zope.configuration tox.ini配置。该软件包包括关于如何运行tox测试的优秀文档。这些测试由Zope 每晚测试构建器自动运行。

将 tox 配置为在 Jenkins 下运行很简单,并且有完整的文档记录。

于 2013-04-04T12:29:40.157 回答