Python單元測試


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

單元測試(Unit Testing)

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

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

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

 

單元測試的目的:

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

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

3. 回歸測試放在改一處整個服務不可用的情況

 

單元測試一般需要覆蓋正常值、異常值和邊界值,示例如下:

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,如果測試用例全部通過則:


免責聲明!

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



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