我有一个正在用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-reportingpip

然后我用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)

10-08 03:59