unittest單元測試框架總結

1、框架圖:

​​在這裏插入圖片描述

2、主要組件

TestCase:用來寫用例,一個TestCase就是一個測試用例

TestSuite:集合或套件,多個測試用例的集合就是 suite,一個 suite 可以包含多個 測試用例,也可以嵌套 suite

TestLoader:用來加載 testcase 到 testsuite 中的

TextTestRunner:執行測試用例,將結果保存在TestResult中

TestResult:存放測試報告

TestFixture:一個測試用例環境的搭建和銷燬

3、用例的添加和使用

3.1TestCase創建用例

import unittest
from math_method import MathMethod#math_method中MathMethod是我們自己定義的文件中的函數
class TestAdd(unittest.TestCase):  
    #測試用例:test開頭
    def test_001(self):#測試2個0相加
        print('test_001')
        expected=0#期望值
        res=MathMethod().add(0,0)#實際值  add、sub都是在MathMethod中我們自己定義的方法
        #斷言
        self.assertEqual(expected,res)
    def test_002(self):
        print('test_002')
        excepted=-2
        res = MathMethod().add(1,-3)  # 實際值
        self.assertEqual(excepted,res)

class TestSub(unittest.TestCase): 
    #測試用例:test開頭
    def test_001(self):#測試2個0相減
        print('test_001')
        expected=0#期望值
        res=MathMethod().sub(0,0)#實際值
        #斷言
        self.assertEqual(expected,res)
    def test_002(self):
        print('test_002')
        excepted=4
        res = MathMethod().sub(1,-3)  # 實際值
        self.assertEqual(excepted,res)

3.2 TestSuite、TestLoader 用例加載到套件裏面

import unittest
#第一種方法 一個一個的去添加用例
from week_6.class_0321.learn_unittest import *
#存儲用例的容器suite 套件
suite=unittest.TestSuite()#創建了一個對象
suite.addTest(TestAdd('test_001'))#添加測試用例到suite這個套件裏面  
suite.addTest(TestAdd('test_002'))
suite.addTest(TestSub('test_001'))

#第二種方法通過loader來加載用例 通過模塊來加載用例
from week_6.class_0321 import learn_unittest
loader=unittest.TestLoader()#用例的加載器
suite.addTest(loader.loadTestsFromModule(learn_unittest))

#第三種通過loader來加載用例 根據測試類名來加載用例
from week_6.class_0321.learn_unittest import *
loader=unittest.TestLoader()#用例的加載器
suite.addTest(loader.loadTestsFromTestCase(TestAdd))

3.3 TextTestRunner執行用例

runner=unittest.TextTestRunner()#創建一個對象來執行用例
runner.run(suite)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章