Python單元測試

在Python的圈子裏常流行一句話:"動態一時爽,重構火葬場",咱們知道Python寫起來很方便,但在重構或者對某部分代碼修改時, 可能會形成"牽一髮而動全身",因此對於Python項目,特別是大型項目來講單元測試來保證代碼質量是很是有必要的。函數

單元測試(Unit Testing)單元測試

1. 針對程序模塊進行正確性檢驗測試

2. 一個函數、一個類進行驗證spa

3. 自底向上保證程序的正確性3d

 

單元測試的目的:code

1. 保證代碼邏輯的正確性blog

2. 使得代碼易測,高類聚、低耦合get

3. 迴歸測試放在改一處整個服務不可用的狀況it

 

單元測試通常須要覆蓋正常值、異常值和邊界值,示例以下:class

bin.py

 1 def binary_search(b_list, target):  2     """
 3  二分查找  4  :param b_list:  5  :param target:  6  :return:  7     """
 8     b_list = sorted(b_list)  9     left, right = 0, len(b_list) - 1
10     while left <= right: 11         mid = (left + right) // 2
12         if b_list[mid] > target: 13             right = mid - 1
14         elif b_list[mid] < target: 15             left = mid + 1
16         else: 17             return mid 18     return None 19 
20 
21 def test(): 22     # 正常值
23     assert binary_search([3, 5, 7, 8, 9], 5) == 1
24 
25     # 邊界值
26     assert binary_search([3, 5, 7, 8, 9], 3) == 0 27     assert binary_search([3, 5, 7, 8, 9], 9) == 4
28 
29     # 異常值
30     assert binary_search([3, 5, 7, 8, 9], 0) is None 31     assert binary_search([], 3) is None

運行 pytest bin.py,若是測試用例所有經過則:

相關文章
相關標籤/搜索