當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python unittest.TestCase.assertLogs用法及代碼示例


用法:

assertLogs(logger=None, level=None)

一個上下文管理器,用於測試至少一條消息記錄在 logger 或其一個子節點上,至少具有給定的 level

如果給定,logger 應該是一個 logging.Logger 對象或一個 str 給出記錄器的名稱。默認是根記錄器,它將捕獲所有未被非傳播後代記錄器阻止的消息。

如果給定,level 應該是數字日誌記錄級別或其等效字符串(例如 "ERROR"logging.ERROR )。默認值為 logging.INFO

如果在with 塊內發出的至少一條消息與loggerlevel 條件匹配,則測試通過,否則測試失敗。

上下文管理器返回的對象是一個記錄助手,它跟蹤匹配的日誌消息。它有兩個屬性:

records

匹配日誌消息的logging.LogRecord 對象列表。

output

帶有匹配消息的格式化輸出的str 對象列表。

例子:

with self.assertLogs('foo', level='INFO') as cm:
   logging.getLogger('foo').info('first message')
   logging.getLogger('foo.bar').error('second message')
self.assertEqual(cm.output, ['INFO:foo:first message',
                             'ERROR:foo.bar:second message'])

3.4 版中的新函數。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 unittest.TestCase.assertLogs。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。