2016-08-02 113 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