gpt4 book ai didi

python - 使用 unittest 测试记录器消息

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:11 28 4
gpt4 key购买 nike

我想在我的单元测试中测试记录器消息而不将它们打印到屏幕上。鉴于此代码:

 import logging
logging.basicConfig(level=logging.ERROR)
logger = logging.getLogger('test')
logger.warning('this is a warning')

# How do I see that there was a warning?

如何查看记录器中的日志记录以查看是否有警告?我在 Logger 中找不到可以完成这项工作的迭代器。

最佳答案

您可能需要使用 TestCase.assertLogs()在这种情况下的上下文管理器。该文档提供了一个很好的示例,说明可以用它做什么:

with self.assertLogs('foo', level='INFO') as cm:
logging.getLogger('foo').info('first message')
logging.getLogger('foo.bar').error('second message')
self.assertEqual(cm.output, ['INFO:foo:first message',
'ERROR:foo.bar:second message'])

在上下文管理器中,您可以访问 cm.records 获取 LogRecord 实例列表,或访问 cm.output 获取列表格式化消息

关于python - 使用 unittest 测试记录器消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50492648/

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