我有一个正在用Pybuilder构建的项目。我将其克隆到新计算机上,当我运行pyb
时,我的单元测试抱怨没有名为xmlrunner
的模块。因此,在执行pip install xmlrunner
之后,我从Pybuilder收到一个生成错误:'unicode' object has no attribute 'write'
。
如果我从unittest搜索路径中删除了单元测试,则构建成功完成。当我直接运行单元测试时,它们会成功完成。所以我在想XMLRunner某种程度上失败了。 Pip安装了XMLRunner版本1.7.7。在此先感谢您的帮助。
最佳答案
我似乎通过执行以下操作来完成此工作:
首先,我遇到了与您相同的错误:
建立失败-'unicode'对象没有属性'write'
然后我使用xmlrunner
卸载了unittest-xml-reporting
和pip
然后我用pyb install_dependencies
重新安装unittest-xml-reporting
然后,当我使用pyb
时,单元测试将再次开始运行:
单元测试中有1个错误和0个失败
这是我当前的pip list
输出:
点(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没有安装pybuilder
,但是您仍然可以从命令行运行pyb
。也是需要删除此pybuilder
(我在OSX上,所以它是它附带的默认python)