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

时间:2017-01-10 16:15:44

标签: python logging pytest

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

当我正在设置测试时,我遇到了不知道为什么测试没有通过的问题。每个带有处理程序的模块都包含行

import logging
log = logging.getLogger(__name__)

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

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

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

1 个答案:

答案 0 :(得分:4)

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