如果想要在run测试用例时,打印出由python的logging的日志,可以在pytest中进行相应的配置
pytest可以将日志输出到控制台或者文件中,分别对应不同的配置项
pytest的日志配置文件主要在pytest.ini文件中进行配置,包括配置日志的格式,时间格式等
控制台打印日志
在pytest.ini文件中配置:
log_cli = true
log_cli_level=DEBUG
log_cli_format= %(asctime)s %(levelname)s %(message)s
log_cli_date_format = %Y-%m-%d %H:%M:%S
log_cli:表示开启控制台日志,默认是关闭的
log_cli_level:日志等级
log_cli_forma:日志格式
log_cli_date_format:日志的时间格式
源码
import pytest
import logging
LOG=logging.getLogger(__name__)
def inc(x):
LOG.info("start to test.....")
return x+1
def test_inc():
LOG.info("start to test one...")
assert inc(5)==6
def test_inc2():
assert inc(3)==7
运行pytest后控制台日志
打印日志到文件
在pytest.ini中配置如下
log_file=../log/log.txt
log_file_level=DEBUG
log_file_format= %(asctime)s %(levelname)s %(message)s
log_file_date_format = %Y-%m-%d %H:%M:%S
运行pytest就会生成一个log文件夹以及一个log.txt文件
log内容与控制台输出一样,只不过是输出到了文件log.txt中
log.txt:
2022-12-29 11:11:17 INFO start to test one...
2022-12-29 11:11:17 INFO start to test.....
2022-12-29 11:11:17 INFO start to test.....
2022-12-29 11:11:17 INFO start to test.....
2022-12-29 11:11:17 INFO start to test.....
2022-12-29 11:11:17 INFO start to test.....