gpt4 book ai didi

python - 如何在每个测试用例中都有一个记录器?

转载 作者:行者123 更新时间:2023-12-01 00:52:31 28 4
gpt4 key购买 nike

我想向 pytest 框架测试用例添加额外的日志记录。目前我的想法是这样的:具有以下配置的记录器类(假设为默认)

import logging
class Logger:
logger = logging.getLogger()
handler = logging.StreamHandler()
formatter = logging.Formatter(
'%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

在conftest中,我创建了一个固定装置,它实际上是记录器的一个实例:

#conftest.py
@pytest.fixture
def trace():
trace = Logger()
return trace

然后我将此跟踪装置传递给需要记录的每个测试。

trace.logger.info("Processing data")
value = input_data.data["value1"]

它确实有效,但我不确定是否有更好的方法为每个测试用例使用一个通用记录器。目前还需要将此 fixture 传递给我想要添加更多迹线的任何测试。

最佳答案

如果您想检查各种测试记录的内容,pytest 附带名为 caplog 的电池固定装置。您不需要像我在使用 unittest 进行测试时那样构建自定义处理程序。

https://docs.pytest.org/en/latest/logging.html

关于python - 如何在每个测试用例中都有一个记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56461698/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com