我有一个用Pybuilder构建的项目。我将它克隆到一台新计算机上,当我运行pyb
时,我的单元测试抱怨说没有名为xmlrunner
的模块。所以在我做pip install xmlrunner
之后,我从Pybuilder得到了一个构建错误:
'unicode' object has no attribute 'write'
。
如果我从unittest搜索路径中删除单元测试,则构建成功完成。当我直接运行单元测试时,它们成功完成。所以我认为XMLRunner失败了。 Pip安装了XMLRunner 1.7.7版。在此先感谢您的帮助。
答案 0 :(得分:1)
我似乎通过以下方式实现了这一目标:
首先我得到了和你一样的错误:
建立失败 - ' unicode'对象没有属性'写'
然后我卸载了^.*[^\:]*\d\d\:\d\d\:\d\d[^\:]*?\s\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s(?P<service>\w+),(?P<severity>\w+)(.+?):\s(?P<mac>\S+)\s.(?P<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(.+?) (?P<action>.+)[\(:,\-].(?P<message>[\w\s]+)
&amp; xmlrunner
使用unittest-xml-reporting
然后我使用pip
重新安装pyb install_dependencies
然后,当我使用unittest-xml-reporting
时,我的单元测试再次开始运行:
单元测试中有1个错误和0个失败
这是我当前的pyb
输出:
pip(7.1.2)
PyBuilder(0.11.1)
setuptools(18.2)
六(1.9.0)
tblib(1.1.0)
unittest-xml-reporting(1.12.0)
轮(0.24.0)
如果您使用的是virtualenv,当您在virtualenv环境之外安装了 pybuilder 时,也会出现此错误:
例如,您的virtualenv没有安装
pip list
,但您仍然可以从命令行运行pybuilder
。这个pyb
也需要删除(我在OSX上,因此它是随附的默认python)
答案 1 :(得分:0)
当我将PyBuilder从0.11.0降级到0.10.63时,问题解决了。在0.10.63的发行说明(这里:http://pybuilder.github.io/releasenotes/)中,他们提到“修复了0.10.62中引入的回归,其中python.unittest插件生成的单元测试报告将始终为空。”
出于某种原因,这完全解决了我。