前言
在測試用例中,執行完測試用例后,最后一步是判斷測試結果是pass還是fail,自動化測試腳本里面一般把這種生成測試結果的方法稱為斷言(assert)。
用unittest組件測試用例的時候,斷言的方法還是很多的,下面介紹幾種常用的斷言方法:assertEqual、assertIn、assertTrue
---------------------?
基本斷言方法
基本的斷言方法提供了測試結果是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
案例
import unittest class Test(unittest.TestCase): def test01(self): '判斷a == b' a = 1 b = 1 self.assertEqual(a,b) def test02(self): a = "hello" b = 'hello world' self.assertIn(a,b) def test03(self): a = 'beijing' b = 'dongjing' self.assertEqual(a,b) if __name__ == '__main__': unittest.main()
截圖
如圖所示前2個用例都正確,第三個失敗了,2個變量值不相等所以拋出了error,
相當于raise Exception('beijing' != 'dongjing')
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
