python unittest assertEqual(u"百度首页1", u"百度首页")打印输出时报UnicodeEncodeError错

阳光下跳舞的猫 2016-03-09 04:59:46
在测试用例中,做验证时想捕获异常,并将异常通过log输出,但在比较预期结果与实际结果为中文时,捕获的异常写日志失败,报UnicodeEncodeError,print 错误信息也是一样,有什么有效的解决办法呢?
    def test_baidu(self):
try:
self.assertEqual(u"百度首页1", u"百度首页")
except AssertionError as e:
print str(e)
self.fail(e)

报错如下:
ERROR: test_baidu (__main__.TestBaidu)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\python\MyScripts\moudel\test_baidu.py", line 32, in test_baidu
print str(e)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 62-65: ordinal not in range(128)
...全文
185 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_20285837 2016-04-11
  • 打赏
  • 举报
回复
self.assertEqual(u"百度首页1", u"百度首页") 把这行中的u删除掉,你转码了
屎克螂 2016-04-07
  • 打赏
  • 举报
回复
去掉str()转换

37,716

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧