Pynguin 是德國帕紹大學軟件工程二課程主席開發的工具,讓 Python 開發者自動產生Python 單元測試。Pynguin 以 GNU LGPL 許可證釋出源碼。
不少開發者不喜歡寫測試程序來測試開發出來的軟件,因為寫測試是一件乏味的事。但在優質軟件開發過程中,軟件測試是一個不可或缺的過程。在靜態類型語言,例如 Java,已有一些自動產生測試工具,但動態類型語言如 Python,卻沒有全自動工具產生單元測試。所以帕紹大學軟件工程開發 Pynguin,以他們所知是 Python 第一套自動產生單元測試工具。
由於 Pynguin 在測試時直接執行有關 Python 測試模組,所以注明有機會損害測試電腦,例如刪除硬碟所有資料。筆者認為安全方法是使用獨立電腦做測試,使用雲端工具如 API 亦要使用測試帳號。
Pynguin 需要使用 Python 3.8,在筆者落筆時,開發者還沒測試在 3.9 或其他版本環境執行。讀者可用 pip 來安裝 Pynguin。
$ pip install pynguin
使用 Pynguin 時,需要提供 python 專案目錄,Pynguin 輸出測試的目錄和測試模組名稱。
pynguin \ --algorithm WHOLE_SUITE \ --project_path /tmp/foo \ --output_path /tmp/testgen \ --module_name foo.bar
Pynguin 計畫及圖片來源:Pynguin GitHub