测试积点老人 发表于 2020-12-17 10:08:32

如何让 unittest 的报告中错误输出有日志输出?

使用logger封装logging,设置输出流为sys.stdout.
当运行unittest suite并生成report时,logger产生的日志会输出在下面的console中,但是并不输出在report中。首先声明需求,因为公司希望我在报告中错误信息简化为一些其他人能看懂业务就能知道的文字,而不是traceback。我的想法是两份报告,一份给开发,输出的报告中的错误信息是业务相关的错误
一份给测开,是含有traceback的错误测开的不用改
但是如何将报告中输出的错误翻译成业务相关呢?因此,我需要将logger.error中的信息输出在报告中,但是不管是sys.stdout还是sys.stderr.都是在控制台输出,而report中的输出流其实是io.StringIO,如何让report也能输出部分日志呢?这是报告中关于输出流的代码请教一下怎么改,如果需要详细的其他信息,请于评论处问我


bellas 发表于 2020-12-18 09:57:27

可以使用pytest+allure ,在allure报告里面会将assert失败得msg进行显示

海海豚 发表于 2020-12-18 10:18:09

https://testerhome.com/topics/26885看下这个

qqq911 发表于 2020-12-18 10:59:09

打印日志的时候写两份

郭小贱 发表于 2020-12-18 13:12:10

pytest+allure,应该可以解决。

litingting0214 发表于 2020-12-18 15:45:31

https://testerhome.com/topics/26885   参考下这篇文章
页: [1]
查看完整版本: 如何让 unittest 的报告中错误输出有日志输出?