python+selenium+unittest測試框架1-unittest單元測試框架和斷言


 unittest單元測試框架和斷言

 

一、unittest單元測試框架簡介

1、導入unittest模塊

import unittest

2、定義測試類

class Login(unittest.TestCase):

3、前置條件

    def setUp(self):
        u'''沒有前置條件可以寫pass'''
        pass

4、測試case加斷言

    def test01(self): #測試用例必須以test開頭
        print("執行測試用例01")
        result = '1'
        self.assertTrue(result) #斷言result是不是True

5、后置條件

    def tearDown(self):
        u'''沒有后置條件可以寫pass'''
        pass

6、運行主函數

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

示例:

#導入unittest模塊
import unittest

class Login(unittest.TestCase):
    def setUp(self):
        u'''沒有前置條件可以寫pass'''
        pass
    def test01(self): #測試用例必須以test開頭
        print("執行測試用例01")
        result = '1'
        self.assertTrue(result) #斷言result是不是True
    def tearDown(self):
        u'''沒有后置條件可以寫pass'''
        pass
if __name__ == '__main__':
    unittest.main()

 

二、斷言

unittest常用的斷言方法

1、assertEqual(self, first, second,msg=None)

    def test02(self):#判斷兩個參數是否相等
        print("執行測試用例02")
        result1 = '1'
        result2 = '2'
        self.assertEqual(result1,result2,msg="%s不等於%s"%(result1,result2))

2、assertNotEqual(self, first, second,msg=None)

    def test03(self):#判斷兩個參數是否不相等
        print("執行測試用例03")
        result1 = '1'
        result2 = '2'
        self.assertNotEqual(result1,result2,msg="%s等於%s"%(result1,result2))

3、assertIn(self, member, container,msg=None)

    def test04(self):#判斷一個參數是否包含另一個參數
        print("執行測試用例04")
        result1 = '1'
        result2 = '21'
        self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1))

4、assertNotIn(self, member,container, msg=None)

    def test05(self):#判斷一個參數是否不包含另一個參數
        print("執行測試用例05")
        result1 = '1'
        result2 = '2'
        self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1))

5、assertTrue(self, expr, msg=None)

    def test06(self): #測試一個參數是否為真
        print("執行測試用例06")
        result = ''
        self.assertTrue(result,msg="%s不是True"%result) 

6、assertFalse(self, expr, msg=None)

    def test07(self):#判斷一個參數是否不包含另一個參數
        print("執行測試用例07")
        result = ''
        self.assertFalse(result,msg="%s不是False"%(result))

7、assertIsNone(self, obj, msg=None)

    def test08(self):#判斷一個參數是否不包含另一個參數
        print("執行測試用例08")
        result = None
        self.assertIsNone(result,msg="%s不是None"%(result))

8、assertIsNotNone(self, obj,msg=None)

    def test09(self):#判斷一個參數是否不包含另一個參數
        print("執行測試用例09")
        result = '123'
        self.assertIsNotNone(result,msg="%s是None"%(result))

示例:

#導入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()

PS:unittest的執行順序,先執行setUp,然后執行測試用例test*(測試用例是按照名稱順序執行),最后執行tearDown。


免責聲明!

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



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