2

我有一个正在使用 Pybuilder 构建的项目。我将它克隆到一台新计算机上,当我运行时pyb,我的单元测试抱怨没有名为xmlrunner. 所以在我这样做之后pip install xmlrunner,我从 Pybuilder 收到了一个构建错误:

'unicode' object has no attribute 'write'.

如果我从 unittest 搜索路径中删除我的单元测试,则构建成功完成。当我直接运行单元测试时,它们成功完成。所以我认为 XMLRunner 以某种方式失败了。Pip 安装了 XMLRunner 1.7.7 版。在此先感谢您的帮助。

4

2 回答 2

1

我似乎通过执行以下操作来完成这项工作:

首先我得到了和你一样的错误:

构建失败 - 'unicode' 对象没有属性 'write'

然后我卸载xmlrunnerunittest-xml-reporting使用pip

然后我用pyb install_dependencieswhich reinstallsunittest-xml-reporting

然后我的单元测试在我使用时再次开始运行pyb

单元测试中有 1 个错误和 0 个失败

这是我当前的pip list输出:

点(7.1.2)

PyBuilder (0.11.1)

安装工具 (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)

于 2015-09-22T11:12:36.213 回答
0

当我将 PyBuilder 从 0.11.0 降级到 0.10.63 时,这个问题就解决了。在该 0.10.63 的发行说明(此处:http ://pybuilder.github.io/releasenotes/)中,他们提到“修复了 0.10.62 中引入的回归,其中由 python.unittest 插件生成的单元测试报告将永远是空的。”

出于某种原因,这完全为我解决了这个问题。

于 2015-09-29T16:15:35.903 回答