[英]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
print
和logbook
output 到標准輸出,但 pytest 僅在使用打印而不是日志時捕獲標准輸出的 output。
如何獲取 pytest 來捕獲日志的標准輸出?
嘗試使用capfd
而不是capsys
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.