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


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

用法:

assertRaises(exception, callable, *args, **kwds)
assertRaises(exception, *, msg=None)

測試當 callable 使用任何位置或關鍵字參數調用時引發異常,這些參數也傳遞給 assertRaises() 。如果引發 exception 則測試通過,如果引發另一個異常則為錯誤,如果未引發異常則失敗。要捕獲任何一組異常,可以將包含異常類的元組作為 exception 傳遞。

如果僅給出 exception 和可能的 msg 參數,則返回上下文管理器,以便可以將被測代碼內聯而不是作為函數編寫:

with self.assertRaises(SomeException):
    do_something()

當用作上下文管理器時,assertRaises() 接受附加的關鍵字參數 msg

上下文管理器會將捕獲的異常對象存儲在其exception 屬性中。如果打算對引發的異常執行額外檢查,這可能很有用:

with self.assertRaises(SomeException) as cm:
    do_something()

the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)

在 3.1 版中更改:增加了使用能力unittest.TestCase.assertRaises作為上下文管理器。

在 3.2 版中更改:添加了exception屬性。

在 3.3 版中更改:添加了msg用作上下文管理器時的關鍵字參數。

相關用法


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