1. 程式人生 > >python unittest之斷言及示例

python unittest之斷言及示例

!= class err isn 復雜 參數 的區別 list 如果

python unintest單元測試框架提供了一整套內置的斷言方法。

  1. 如果斷言失敗,則拋出一個AssertionError,並標識該測試為失敗狀態

  2. 如果異常,則當做錯誤來處理 註意:以上兩種方式的區別

  3. 如果成功,則標識該測試為成功狀態

下面我們看下在unittest框架中定義了哪幾類斷言方法:

  1. 基本的Boolean斷言,即:要麽True,要麽False的驗證

  2. 簡單比較斷言,例如比較a,b兩個變量的值

  3. 復雜斷言

基本斷言方法

基本的斷言方法提供了測試結果是True還是False。所有的斷言方法都有一個msg參數,如果指定msg參數的值,則將該信息作為失敗的錯誤信息返回。

序號斷言方法斷言描述
1 assertEqual(arg1, arg2, msg=None) 驗證arg1=arg2,不等則fail
2 assertNotEqual(arg1, arg2, msg=None) 驗證arg1 != arg2, 相等則fail
3 assertTrue(expr, msg=None) 驗證expr是true,如果為false,則fail
4 assertFalse(expr,msg=None) 驗證expr是false,如果為true,則fail
5 assertIs(arg1, arg2, msg=None) 驗證arg1、arg2是同一個對象,不是則fail
6 assertIsNot(arg1, arg2, msg=None) 驗證arg1、arg2不是同一個對象,是則fail
7 assertIsNone(expr, msg=None) 驗證expr是None,不是則fail
8 assertIsNotNone(expr, msg=None) 驗證expr不是None,是則fail
9 assertIn(arg1, arg2, msg=None) 驗證arg1是arg2的子串,不是則fail
10 assertNotIn(arg1, arg2, msg=None) 驗證arg1不是arg2的子串,是則fail
11 assertIsInstance(obj, cls, msg=None) 驗證obj是cls的實例,不是則fail
12 assertNotIsInstance(obj, cls, msg=None) 驗證obj不是cls的實例,是則fail

python unittest之斷言及示例