测试 - 如何让所有记录器打印输出

Testing - how to have all loggers print output

我正在尝试为一堆 REST 处理程序(它们是自定义 REST 框架的一部分)编写一些单元测试。对于 REST 服务器,通常会记录所有异常,并且如果可能的话通常会继续执行代码。

在设置测试时,我 运行 陷入不知道为什么测试未通过的问题。每个带有处理程序的模块都包含行

import logging
log = logging.getLogger(__name__)

在测试失败时,除了失败的断言之外,唯一的输出是

No handlers could be found for logger "project.handlers.module"

是否有一个简单的修复程序可以添加到我的测试文件中,让记录器简单地输出错误(或所有消息)。我不确定如何为测试中涉及的每个记录器设置处理程序。

您可以在 运行 单元测试之前调用 logging.basicConfig,它将负责为您设置默认处理程序。