我使用pythonlogging module
来记录控制台和文本文件。我正在使用HTMLTestRunner
登录html文件。使用HTMLtener 0.0
但问题是HTMLTestRunner
只打印print
语句,而日志模块不打印打印语句。有什么方法可以让我在html文件中得到日志记录语句吗
下面是htmlrunner代码
runner = HTMLTestRunner.HTMLTestRunner(
stream=outfile,
title='Test Report',
description='Regression Test Suite',
verbosity=3
)
result = runner.run(suite)
编辑:我使用import unittest
,对于日志,我使用import logging
。对于HTML runner,我使用import HTMLTestRunner
为了在控制台上打印语句,我使用logging.info
和logging.debug
。如果我使用pythonprint
的print语句,那么我既不能在控制台中也不能在日志中获得这个输出。但是对于HTML日志,我只有print
语句和stderr
。在
我的问题是:HTMLTestRunner.HTMLTestRunner
是否有某种方式可以使用logging.debug
和logging.info
在控制台上打印这些语句
{你使用的模块已经过时6年了。有更好的选择-从^{} 开始,或者甚至更好的选项-
pytest
启用HTML reporting plugin。在但是,如果您已经准备好修补/更改
HTMLTestRunner
实现,那么我们需要做的是使日志记录和报告中显示的消息正常工作(这只是一种方法):向
HTMLTestRunner
类构造函数添加一个新的logger
参数,并将新的处理程序附加到记录器:编辑
HEADING_TMPL
模板并为日志消息添加占位符:更改
_generate_heading()
方法并填写logs
占位符:别忘了
import logging
现在,例如,如果您有一个
logger
实例在测试中写入日志消息的这种测试,您可以将记录器传递到HTMLTestRunner
中,然后将日志消息转储到报告中:{cd13>测试后的内容:
相关问题 更多 >
编程相关推荐