unittest --- 單元測試框架

原始碼:Lib/unittest/__init__.py


(假如你已經熟悉相關基礎的測試概念,你可能會希望跳過以下段落,直接參考 assert 方法清單。)

unittest 原生的單元測試框架最初由 JUnit 開發,和其他程式語言相似有主要的單元測試框架。支援自動化測試,對測試分享安裝與關閉程式碼,集合所有匯總的測試,並且獨立各個測試報告框架。

unittest 用來作為實現支援一些重要的物件導向方法的概念:

test fixture

一個 test fixture 代表執行一個或多個測試所需要的準備,以及其他相關清理操作,例如可以是建立臨時性的或是代理用 (proxy) 資料庫、目錄、或是啟動一個伺服器程序。

test case(測試用例)

一個 test case 是一個獨立的單元測試。這是用來確認一個特定設定的輸入的特殊回饋。unittest 提供一個基礎類別,類別 TestCase,可以用來建立一個新的測試條例。

test suite(測試套件)

test suite 是一個搜集測試條例,測試套件,或是兩者皆有。它需要一起被執行並用來匯總測試。

test runner(測試執行器)

test runner 是一個編排測試執行與提供結果給使用者的一個元件。執行器可以使用圖形化介面,文字介面或是回傳一個特別值用來標示出執行測試的結果。

也參考

doctest 模組

另一個執行測試的模組,但使用不一樣的測試方法與規範。

Simple Smalltalk Testing: With Patterns

Kent Beck 的原始論文討論使用 unittest 這樣模式的測試框架。

pytest