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)