如何使用XML输出运行Python单元测试
问题描述:
我尝试使用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'))
答
您应该安装使用pip
亚军,我想包就被称为xmlrunner
(但也许这是Python 2.7版)
pip install xmlrunner
更好的是virtualenv里面的所有东西。然后你可以通过一个requirements.txt
与你所有的依赖关系,你不需要sudo
安装任何东西。然后你可以选择你喜欢的任何python版本,从你的全局安装中分离出来。
如果wnat检查是否安装了它,哪个版本,使用pip freeze
我假设你使用的是经典的单元测试模块(有喜欢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
是的,我知道他们,但我现在不需要其他功能,所以我尽管现在我会保持简单:) –