2013-04-04 44 views
0

我正在開發一些python包,我希望在將它們發佈到PyPi之前執行適當的測試。如何爲python包開發實現跨平臺持續集成?

這就需要跨

  • 不同Python版本的運行單元測試:2.5,2.6,2.7,3.2
  • 不同的操作系統:OS X,Debian的,Ubuntu的和Windows

權現在我正在使用pytest

問題:我如何輕鬆實現這一點,並最好將結果公開並與githu集成b,所以推動的人都會知道結果。

注:我已經知道https://travis-ci.org/,但這似乎缺少跨平臺部分,這在這種情況下是必不可少的。

我正在考慮的另一個選擇是使用詹金斯,但我不知道如何提供矩陣測試。

回答

0

您可以使用tox自動設置虛擬環境和不同的Python版本運行測試:

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

弓形體支持Python版本2.4及以上,以及Jython和PyPy。

如果您想查看使用tox的實際項目,請查看zope.configurationtox.ini configuration。該套餐包括優秀的documentation on how to run the tox tests。這些測試由Zope nightly test builders自動運行。

將tox配置爲run under Jenkins很簡單,並且完全記錄在案。

1

我已經使用詹金斯,我會推薦它。它有很多插件,並且非常易於配置。

我已經使用它在windows/linux/mac/mobile平臺上運行項目,進行理智,單元,組件和迴歸測試。

它可以支持項目和測試的鏈接,在進行測試環境時要監視的項目的指紋識別,還可以設置用戶並跟蹤更改。

你可以同時使用它進行生產和測試,將它連接到你的git倉庫,你所做的任何更改都會自動運行通過你想要的所有控件。