1. 程式人生 > >Python unittest詳解二(測試夾具)

Python unittest詳解二(測試夾具)

split unittest 添加 per ima 函數 python .com 分享圖片

關於測試夾具,我們知道,以類為對象的話,在python裏對應的方法分別是test_isupper、test_upper, 那麽以測試case為單位呢?

這時候,就要提到我們的setup()和tearDown()啦,在這裏setup()函數做每個單元測試的初始化操作,而對應的tearDown()做每個單元測試的析構操作,首先我們在類裏加入兩個函數:

技術分享圖片

重新執行py文件,結果如圖:

技術分享圖片

我們會發現在各個測試case執行前後會執行setUp()與tearDown(),包括test_upper()、test_isupper()。另外如果setUp()執行失敗的話,情況會怎麽樣呢?

我們在setUp()函數裏添加“拋出異常”操作,執行後我們會發現所有的測試case都報error了,大致如圖:

技術分享圖片

同樣的,若setup()執行成功,對應的測試case執行失敗並且報error的話,這時tearDown()函數會執行嗎?讓我們試試吧。

我們在test_split()函數裏加上“拋出異常”操作,執行後確認若setup()成功,那麽不論之後測試case結果如何,對應的tearDown()函數都會執行。情況如圖:

技術分享圖片

關於以測試case為單位的測試夾具總體如上所示,運行測試case時都會自動調用測試夾具中的setUp(),tearDown()。

Python unittest詳解二(測試夾具)