python - 在 unicode 中,Pytest 无法生成 XML 输出

标签 python unicode utf-8 pep8 pytest

  1. 转到项目源
  2. 运行 py.test --pep8 --junitxml=pep8.log

第一个控制台显示 pytest 已经测试过的 .py 文件,然后它会显示一条消息:

INTERNALERROR>   File "C:\Python27\lib\site-packages\_pytest\junitxml.py", line 134, in append_failure
INTERNALERROR>     fail.append(str(report.longrepr))
INTERNALERROR> UnicodeEncodeError: 'ascii' codec can't encode characters in position 1430-1434: ordinal not in range(128)

我试图通过将 fail.append(str(report.longrepr)) 转换为 fail.append(str(report.longrepr.encode("utf-8") )) 但 pytest 在此文件和 _xmlgen.py 文件的其他行上继续失败。

我认为有一种更好的方法可以全局修复此问题,然后编辑它失败的每一行代码。

最佳答案

我为 pytest 开发人员提交了一个问题并已修复 https://bitbucket.org/hpk42/pytest/issue/368/unicode-error-when-launching-pytest

关于python - 在 unicode 中,Pytest 无法生成 XML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19179943/

相关文章:

Python:具有公共(public) IP 的 TCP 服务器

python - 如何在plotly中绘制venn3

python - Tkinter 输入字符限制

postgresql - Unicode字符默认对照表

MySQL 仅在插入或唯一键上更改排序规则

json - 如何在Python3中正确产生和使用UTF-8 json? (带 flask 和要求)

python - 将 Twitter XML 日期转换为 Python 日期对象

java - 转换 &#XXXX; Java中的字符到UTF-8

python, vobject, 编码, vcards

php - 特殊 ä ö 字符破坏 UTF-8 编码