如何使用pytest捕获日志标准输出?

2024-05-29 03:59:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想测试日志是否正常工作,但我无法使用pytest从日志簿中捕获日志

下面是一个简单的示例,演示了该问题:

import sys
import logbook


logbook.StreamHandler(sys.stdout, level=logbook.INFO).push_application()


def use_print():
    print("This is a dummy message using print")


def test_print(capsys):
    use_print()
    out, err = capsys.readouterr()
    assert err == ""
    assert "dummy" in out


def use_logbook():
    log = logbook.Logger("Dummy Log")
    log.info("This is a dummy message using logbook")


def test_logbook(capsys):
    use_logbook()
    out, err = capsys.readouterr()
    assert err == ""
    assert "dummy" in out

printlogbook都输出到标准输出,但pytest仅在使用打印而不是日志时捕获标准输出

如何让pytest捕获日志的标准


Tags: import标准pytestisusedefsysassert

热门问题