unittest框架-測試用例管理
阿新 • • 發佈:2019-01-08
新增用例管理
前面是針對單個add方法來進行單元測試,如果需要對多個方法來進行測試,該如何處理?如新增一個Sub方法來進行單元測試驗證。(藍色是新增的sub方法)
我們需要同時對add和sub方法進行單元測試。那麼我們需要針對新的sub方法,新增一個class作為TestCase。
測試結果如下:
用例公共部分合並
在這個示例中,每個測試類都有SetUp()和tearDown()方法,而且兩個方法內容都是一樣的,用於列印開始和結束提示語句,是否可以合併在一起呢?
單獨定義一個父類Test_StarEnd()放置SetUp()和tearDown()方法。Test_StarEnd()繼承unnitest.TestCase。再定義測試add和sub方法的類,繼承父類Test_StarEnd()。因為父類Test_StarEnd()繼承了unnitest,因此子類Test_add()和Test_sub也可以用unittest中的斷言方法。
最後執行測試用例的時候,也更為簡潔了:
用例執行順序
執行順序規則:根據測試類或測試方法的數字與字母順序0-9, A-Z執行的
那麼如何按照自定義的順序執行呢?
可以用如下方式控制:
測試用例綜合框架管理
前面測試用例與執行都是寫在一個檔案,當測試用例不斷增加的時候,用例的執行和管理變得非常麻煩。因此需要對用例根據具體的功能模組來管理。
案例:
Test_Project 檔案目錄下包含4個python檔案:
- I--StartEnd.py SetUp和TearDown管理
- I--calculatory.py 加減法運算方法的實現
- I--test_add.py 加法測試用例
- I--test_sub.py 減法測試用例
- I--runtest.py 用例執行管理
calculatory.py 加減法運算方法的實現
StartEnd.py SetUp和TearDown管理
test_add.py 加法測試用例
test_sub.py 減法測試用例
runtest.py 用例執行管理