unittest之斷言


      在測試用例中,執行完測試用例后,最后一步是判斷測試結果是 pass 還是fail,自動化測試腳本里面一般把這種生成測試結果的方法稱為斷言(assert)。
用 unittest 組件測試用例的時候,斷言的方法還是很多的,下面介紹幾種常用的斷言方法:assertEqual、assertIn、assertTrue

1、案例:

# coding:utf-8
import unittest

class Test(unittest.TestCase):
    def test01(self):
        '''判斷a=b'''
        a = 1
        b = 1
        self.assertEqual(a,b)

    def test02(self):
        '''判斷ainb'''
        a = "hello"
        b = "hello world"
        self.assertIn(a,b)

    def test03(self):
        '''判斷a is true'''
        a = True
        self.assertTrue(a)

    def test04(self):
        '''斷言失敗'''
        a = "anne"
        b = "hhhhhh"
        self.assertEqual(a,b)

if __name__ == "__main__":
    unittest.main()

  四個case中,最后一個會斷言失敗,執行結果如下:
/

2、自定義異常

1).以 assertEqual 為例分析:
assertEqual(self, first, second, msg=None)Fail if the two objects are unequal as determined by the '=='operator.
2).翻譯:如果兩個對象不能相等,就返回失敗,相當於 return: first==second
3).這里除了相比較的兩個參數 first 和 second,還有第三個參數 msg=None,這個 msg 參數就是遇到異常后自定義輸出信息

3、unittest 常用的斷言方法

1).assertEqual(self, first, second, msg=None)
--判斷兩個參數相等:first == second
2).assertNotEqual(self, first, second, msg=None)
--判斷兩個參數不相等:first != second
3).assertIn(self, member, container, msg=None)
--判斷是字符串是否包含:member in container
4).assertNotIn(self, member, container, msg=None)
--判斷是字符串是否不包含:member not in container
5).assertTrue(self, expr, msg=None)
--判斷是否為真:expr is True
6).assertFalse(self, expr, msg=None)
--判斷是否為假:expr is False
7).assertIsNone(self, obj, msg=None)
--判斷是否為 None:obj is None
8).assertIsNotNone(self, obj, msg=None)
--判斷是否不為 None:obj is not None

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM