前言
在測(cè)試用例中,執(zhí)行完測(cè)試用例后,最后一步是判斷測(cè)試結(jié)果是pass還是fail,自動(dòng)化測(cè)試腳本里面一般把這種生成測(cè)試結(jié)果的方法稱為斷言(assert)。
用unittest組件測(cè)試用例的時(shí)候,斷言的方法還是很多的,下面介紹幾種常用的斷言方法:assertEqual、assertIn、assertTrue
---------------------?
基本斷言方法
基本的斷言方法提供了測(cè)試結(jié)果是True還是False。所有的斷言方法都有一個(gè)msg參數(shù),如果指定msg參數(shù)的值,則將該信息作為失敗的錯(cuò)誤信息返回。
序號(hào)?? ?斷言方法?? ?斷言描述
1?? ?assertEqual(arg1, arg2, msg=None)?? ?驗(yàn)證arg1=arg2,不等則fail
2?? ?assertNotEqual(arg1, arg2, msg=None)?? ?驗(yàn)證arg1 != arg2, 相等則fail
3?? ?assertTrue(expr, msg=None)?? ?驗(yàn)證expr是true,如果為false,則fail
4?? ?assertFalse(expr,msg=None)?? ?驗(yàn)證expr是false,如果為true,則fail
5?? ?assertIs(arg1, arg2, msg=None)?? ?驗(yàn)證arg1、arg2是同一個(gè)對(duì)象,不是則fail
6?? ?assertIsNot(arg1, arg2, msg=None)?? ?驗(yàn)證arg1、arg2不是同一個(gè)對(duì)象,是則fail
7?? ?assertIsNone(expr, msg=None)?? ?驗(yàn)證expr是None,不是則fail
8?? ?assertIsNotNone(expr, msg=None)?? ?驗(yàn)證expr不是None,是則fail
9?? ?assertIn(arg1, arg2, msg=None)?? ?驗(yàn)證arg1是arg2的子串,不是則fail
10?? ?assertNotIn(arg1, arg2, msg=None)?? ?驗(yàn)證arg1不是arg2的子串,是則fail
11?? ?assertIsInstance(obj, cls, msg=None)?? ?驗(yàn)證obj是cls的實(shí)例,不是則fail
12?? ?assertNotIsInstance(obj, cls, msg=None)?? ?驗(yàn)證obj不是cls的實(shí)例,是則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個(gè)用例都正確,第三個(gè)失敗了,2個(gè)變量值不相等所以拋出了error,
相當(dāng)于raise Exception('beijing' != 'dongjing')
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

