51Testing软件测试论坛

标题: 如何让 unittest 的报告中错误输出有日志输出? [打印本页]

作者: 测试积点老人    时间: 2020-12-17 10:08
标题: 如何让 unittest 的报告中错误输出有日志输出?

使用logger封装logging,设置输出流为sys.stdout.
当运行unittest suite并生成report时,logger产生的日志会输出在下面的console中,但是并不输出在report中。

首先声明需求,因为公司希望我在报告中错误信息简化为一些其他人能看懂业务就能知道的文字,而不是traceback。

我的想法是两份报告,一份给开发,输出的报告中的错误信息是业务相关的错误
一份给测开,是含有traceback的错误

测开的不用改
但是如何将报告中输出的错误翻译成业务相关呢?

[attach]131412[/attach]

因此,我需要将logger.error中的信息输出在报告中,但是不管是sys.stdout还是sys.stderr.都是在控制台输出,而report中的输出流其实是io.StringIO,如何让report也能输出部分日志呢?

[attach]131413[/attach]

这是报告中关于输出流的代码

请教一下怎么改,如果需要详细的其他信息,请于评论处问我





作者: bellas    时间: 2020-12-18 09:57
可以使用pytest+allure ,在allure报告里面会将assert失败得msg进行显示
作者: 海海豚    时间: 2020-12-18 10:18
https://testerhome.com/topics/26885  看下这个
作者: qqq911    时间: 2020-12-18 10:59
打印日志的时候写两份
作者: 郭小贱    时间: 2020-12-18 13:12
pytest+allure,应该可以解决。
作者: litingting0214    时间: 2020-12-18 15:45
https://testerhome.com/topics/26885   参考下这篇文章




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2