【问题标题】:Testing - how to have all loggers print output测试 - 如何让所有记录器打印输出
【发布时间】:2017-01-10 16:15:44
【问题描述】:

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

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

import logging
log = logging.getLogger(__name__)

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

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

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

【问题讨论】:

    标签: python logging pytest


    【解决方案1】:

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

    【讨论】:

    • 对我有用...我将此添加到我的测试文件夹的 __init__.py 文件中
    猜你喜欢
    • 1970-01-01
    • 2022-06-28
    • 2019-05-08
    • 2013-07-14
    • 1970-01-01
    • 2018-08-18
    • 2022-07-06
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多