unittest單元測試框架python
什麼是單元測試?
單元測試是對軟件中的最小單元與其餘模塊隔離的條件下進行測試,,通常是由開發主導執行,主要測試對象是函數或者類 框架
爲何要作單元測試?
單元測試以後才能集成測試,單元測試的目的是儘早發現程序中出現的問題,以避免後續集成或者其餘測試流程中發現,形成更大的返工,將問題前置發現ide
unittest框架介紹
unittest是python自帶的測試框架,具備編寫用例,組織用例,執行用例,輸出報告等自動化框架的條件函數
unittest四大核心
單元測試
一.TestCase測試用例測試
1.導入unittest模塊,被測文件或者其中的類
2.建立一個測試類並繼承unittest.TestCase
3.定義測試函數,函數名以test_開頭
4.測試用例中:測試數據,指望結果;用例步驟;斷言,指望結果與實際結果比對;ui
ps:用例執行順序按照ASCII值來排序,通常是0-9<A-Z<a-z對象
unittest自帶的斷言函數
blog
二.TestSuite測試套件
unittest.TestSuite()類來表示一個測試用例集,把須要執行的用例類或模塊存到一塊兒,經常使用的方法有三種:排序
三.Fixture前置後置條件
用於測試環境的準備和恢復還原, 通常用到下面幾個函數。
setUp():準備環境,執行每一個測試用例的前置條件br/>tearDown():環境還原,執行每一個測試用例的後置條件
setUpClass():必須使用@classmethod裝飾器,全部case執行的前置條件,只運行一次
tearDownClass():必須使用@classmethod裝飾器,全部case運行完後只運行一次
四.執行測試用例,呈現測試結果
TextTestRunner:將收集到的用例執行,並生成text報告
BeautifulReport:持續維護中,pip install方式安裝
HTMLTestRunner:已經不在維護,須要手動下載放到python lib目錄
拓展:1.若是在用例實現過程當中,一個流程有多種不一樣的數據驅動去執行,可採用ddt思想來減小代碼冗餘度