簡體   English   中英

如何使用 pytest 捕獲日志標准輸出 output?

[英]How to capture logbook stdout output with pytest?

我想測試日志記錄是否正常工作,但我無法使用 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 output 到標准輸出,但 pytest 僅在使用打印而不是日志時捕獲標准輸出的 output。

如何獲取 pytest 來捕獲日志的標准輸出?

嘗試使用capfd而不是capsys

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM