準備:
首先創建個math.py文件,然後在模塊中寫個簡單的類和方法,作爲被測試的對象:
# 單元測試練習
class Math():
"""數學類"""
def __init__(self, a, b): # 初始化
self.a = a
self.b = b
def add(self): # 加法
result = self.a + self.b
return result
def sub(self): # 減法
result = self.a - self.b
return result
def multiply(self): # 乘法
result = self.a * self.b
return result
def divide(self): # 除法 注意:b傳參不要爲0
result = self.a / self.b
return result
基礎知識:
單元測試(unit test),是指對軟件中的最小可測試單元進行檢查和驗證。單元就是人爲規定的最小的被測功能模塊。單元測試是在軟件開發過程中要進行的最低級別的測試活動。單元測試一般是由程序員自己來完成,簡單來說,爲自己寫的代碼編寫測試代碼,來驗證代碼的執行結果是否符合預期結果。
下面開始初步瞭解和學習單元測試:
要爲代碼編寫單元測試,首先要再創建個測試模塊,一般取名要見名知意,比如我們要測試 Math() 這個類,那我們的要創建個test_matn.py文件,創建個 TestMath 測試類,用來測試Matn()類,然後需要導入 unittest 和被測試對象:
unittest 是Python 自帶的單元測試框架,它裏面封裝好了一些校驗返回的結果方法和一些用例執行前的初始化操作。
還有可以看到我們的TestMath類繼承了 unittest.TestCase 這個父類,TestCase是 unittest 中專門用來寫測試用例的類,可以包含初始化數據,清除參數,斷言等方法。
import unittest
from class_13.math import Math
class TestMath(unittest.TestCase):
pass
然後在測試類裏寫測試用例 (TestCase),TestCase 必須使用 test_ 開頭,否則 unittest 無法識別,也要見名知意,能一眼看出你要測試什麼東西: 這裏面每一個函數就是一條Case ↓↓↓
import unittest
from class_13.math import Math
class TestMath(unittest.TestCase):
"""Math的測試類"""
def test_add(self): # 測試加法
pass
def test_sub(self): # 測試減法
pass
def test_multiply(self): # 測試乘法
pass
def test_divide(self): # 測試除法
pass
我們爲每個數學方法寫了一條Case,一般一個方法是對應多條Case ,這裏寫簡單點。TestCase 裏現在都是空代碼塊,如何去填充?
測試,簡單點來說就是看實際結果和預期結果是否一致,這裏就要用到斷言了,改天再繼續寫...