assert*():一些斷言方法:在執行測試用例的過程中,最終用例是否執行通過,是通過判斷測試得到的實際結果和預期結果是否相等決定的
assertEqual(a, b, [msg='測試失敗時打印的信息']) # a == b 斷言a和b是否相等,相等則測試用例通過 assertNotEqual(a,b,[msg='測試失敗時打印的信息']) # a != b 斷言a和b是否相等,不相等則測試用例通過 assertTrue(x,[msg='測試失敗時打印的信息']) # x is True 斷言x是否True,是True則測試用例通過 assertFalse(x,[msg='測試失敗時打印的信息']) # x is False 斷言x是否False,是False則測試用例通過 assertIn(a,b,[msg='測試失敗時打印的信息']) # a in b 斷言a是否在b中,在b中則測試用例通過 assertNotIn(a,b,[msg='測試失敗時打印的信息']) # a not in b 斷言a是否在b中,不在b中則測試用例通過 assertIsNone(x,[msg='測試失敗時打印的信息']) # x is None 斷言x是否None,是None則測試用例通過 assertIsNotNone(x,[msg='測試失敗時打印的信息']) # x not is None 斷言x是否None,不是None則測試用例通過 assertIs(a,b,[msg='測試失敗時打印的信息']) # a is b 斷言a是否是b,是則測試用例通過 assertNotIs(a,b,[msg='測試失敗時打印的信息']) # a not is b 斷言a是否是b,不是則測試用例通過 assertIsInstance(a,b,[msg='測試失敗時打印的信息']) # 斷言a是是b的一個實例,是則測試用例通過 assertNotIsInstance(a,b,[msg='測試失敗時打印的信息']) # 斷言a是是b的一個實例,不是則測試用例通過
示例:
#導入unittest模塊 import unittest class Login(unittest.TestCase): def setUp(self): u'''沒有前置條件可以寫pass''' print("開始執行") # pass def test01(self): #測試用例必須以test開頭 print("執行測試用例01") result = '1' self.assertTrue(result) #斷言result是不是True def test02(self):#判斷兩個參數是否相等 print("執行測試用例02") result1 = '1' result2 = '1' self.assertEqual(result1,result2,msg="%s不等於%s"%(result1,result2)) def test03(self):#判斷兩個參數是否不相等 print("執行測試用例03") result1 = '1' result2 = '2' self.assertNotEqual(result1,result2,msg="%s等於%s"%(result1,result2)) def test04(self):#判斷一個參數是否包含另一個參數 print("執行測試用例04") result1 = '1' result2 = '21' self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1)) def test05(self):#判斷一個參數是否不包含另一個參數 print("執行測試用例05") result1 = '1' result2 = '2' self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1)) def test06(self): #測試一個參數是否為真 print("執行測試用例06") result = '1' self.assertTrue(result,msg="%s不是True"%result) def test07(self):#判斷一個參數是否不包含另一個參數 print("執行測試用例07") result = '' self.assertFalse(result,msg="%s不是False"%(result)) def test08(self):#判斷一個參數是否不包含另一個參數 print("執行測試用例08") result = None self.assertIsNone(result,msg="%s不是None"%(result)) def test09(self):#判斷一個參數是否不包含另一個參數 print("執行測試用例09") result = '123' self.assertIsNotNone(result,msg="%s是None"%(result)) def tearDown(self): u'''沒有后置條件可以寫pass''' print("結束...") # pass if __name__ == '__main__': unittest.main()