2016-08-02 59 views
0

我嘗試使用XML輸出在繼續集成服務器上運行Python單元測試(Bamboo,運行在Debian Jessie上),以便根據測試結果將構建標記爲失敗或成功。我目前正在苦苦掙扎,因爲我無法安裝xmlrunner模塊。這是我做了什麼如何使用XML輸出運行Python單元測試

sudo apt-get install python-xmlrunner 
python3 
>>> import xmlrunner 
ImportError: No module named 'xmlrunner' 

所以,我想pip但它說包已經安裝

sudo pip install unittest-xml-reporting 
Requirement already satisfied (use --upgrade to upgrade): unittest-xml-reporting in /usr/lib/python2.7/dist-packages 

順便說一句,我可以導入此模塊與Python 2.7這可能意味着該python-xmlrunner軟件包僅安裝爲2.7版本。

而且我通過python3 -m unittest discover project_name與主要方法運行我的測試類喜歡這個unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports'))

+0

我假設你使用的是經典的單元測試模塊(有喜歡py.test的替代品)。我知道這不是完全回答你的問題,但使用乙醚nosetests或py.test,因爲它們都提供了一個很好的方式來輸出XML報告。 [nosetest](http://nose.readthedocs.io/en/latest/plugins/xunit.html)或[py.test](http://doc.pytest.org/en/latest/usage.html#creating -junitxml-format-files) – uphill

+0

是的,我知道他們,但我現在不需要其他功能,所以我儘管現在我會保持簡單:) –

回答

0

您應該安裝使用pip亞軍,我想包就被稱爲xmlrunner(但也許這是Python 2.7版)

pip install xmlrunner 

更好的是virtualenv裏面的所有東西。然後你可以通過一個requirements.txt與你所有的依賴關係,你不需要sudo安裝任何東西。然後你可以選擇你喜歡的任何python版本,從你的全局安裝中分離出來。

如果wnat檢查是否安裝了它,哪個版本,使用pip freeze