unittest — 單元測試框架
單元測試框架是受到 JUnit 的啟發,與其他語言中的主流單元測試框架有著相似的風格。其支援測試自動化,配置共享和關機程式碼測試。支援將測試樣例聚合到測試集中,並將測試與報告框架獨立。
它主要包含以下幾個方面:
測試腳手架
test fixture 表示為了開展一項或多項測試所需要進行的準備工作,以及所有相關的清理操作。舉個例子,這可能包含建立臨時或代理的資料庫、目錄,再或者啟動一個伺服器程式。
測試用例
一個測試用例是一個獨立的測試單元。它檢查輸入特定的資料時的響應。 unittest 提供一個基類: TestCase ,用於新建測試用例。
測試套件
test suite 是一系列的測試用例,或測試套件,或兩者皆有。它用於歸檔需要一起執行的測試。
測試執行器(test runner)
test runner 是一個用於執行和輸出測試結果的元件。這個執行器可能使用圖形介面、文字介面,或返回一個特定的值表示執行測試的結果。
二、unitest的工作原理
通過unittest類呼叫分析,可將框架的工作流程概況如下:
編寫TestCase,由TestLoader載入TestCase到TestSuite,然後由TextTestRunner來執行TestSuite, 最後將執行的結果儲存在TextTestResult中。
三、用途
unittest作用:單元測試、介面測試、UI測試。用來組織測試用例。
四、一個簡單的小例子
import unittest #模組匯入 class TestDemo(unittest.TestCase):#繼承TestCase類 def setUp(self): pass def tearDown(self): pass def testone(self): #測試用例,斷言1和1是否相等 self.assertEqual(1,1) if __name__=="__main__": unittest.main()
執行結果