一、UnitTest單元測驗框架提供了那些功能
1.提供用例組織和執行
如何定義一條“測驗用例”?
如何靈活地控制這些“測驗用例”的執行?
2.提供豐定的斷言方法
當測驗用例的執行結果與預期結果不一致時,判定測驗用例失敗,在自動化測驗中,通過“斷言”來判定測驗用例執行成功與否,測驗框架提供豐富的斷言方法,例如:判斷相等/不相等包含/不包含、True/False等
3.提供豐富的日志
需要從結果中清晰地看出失敗的原因,另外,我們還需要統計測驗用例的執行結果,如總執行時間、失敗測驗用例數、成功測驗用例數等,這些功能也是由單元測驗框架提供的,
二、認識unittest
1.引入unittest模塊,自定義的類必須要繼承unittest模塊的TestCase類
2.創建的測驗方法,必須以test開頭
3.重要的概念
3.1 TestCase
Test Case是最小測驗單元,用于檢查特定輸入集合的特定回傳值,unittest提供的TestCase基類被自定義的測驗類進行繼承,它可以用來創建新的測驗用例
3.2 TestSuite
測驗套件事測驗用例\測驗套件或者兩者的集合,用于組裝一組要運行的測驗
3.3 Test Runner
Test Runner是一個組件,用于協調測驗的執行并向用戶提供結果,Test Runner可以用圖形界面、文本界面或回傳特殊值來展示執行測驗的結果
3.4 Test Fixture
Test Fixture代表執行一個或多個測驗所需的環境準備,以及關聯的清理動作,
三、斷言方法

四、測驗用例的組織
1、unittest中的TestLoader類提供的discover()方法可以從多個檔案中查找測驗用例
2、找到指定目錄及其子目錄下的所有測驗模塊,只有匹配的檔案名才能被加載,如果啟動的不是頂層目錄,那么頂層目錄必須單獨指定
discover(start_dir,pattern=’ test*.py’ ,top_level_dir=None)
3、start_dir:待測驗的模塊名或測驗用例目錄
4、pattern= 'test*.py’:測驗用例檔案名的匹配原則
5、top_level_dir:測驗模塊的頂層目錄,如果沒有頂層目錄,則默認為None
五、測驗用例的執行順序
多個目錄>多個測驗檔案>多個測驗類>多個測驗方法
執行多級目錄的測驗用例
unittest默認按照ASCII碼的順序加載測驗用例(字母與數字順序為0-9,A-Z,a-z)
執行多級子目錄下放一個__init__.py檔案,該檔案的作用是將一個目錄標記一個標準python模塊

import unittest test_dir = './test_case' suite=unittest.defaultTestLoader.discover(test_dir, pattern='test*.py') if __name__ == '__main__': runner = unittest.TextTestRunner() runner.run(suite)
六、跳過測驗和預期失敗

七、資料驅動應用
安裝方式
pip install parameterized
使用方式
通過@parameterized.expand()去裝飾測驗用例,expand中的每個元組都被認為是一條測驗用例,元組中的資料就為測驗用例變化的值
如果你覺得自己學習效率低,缺乏正確的指導,可以關注資源豐富,學習氛圍濃厚的????公???號????和測驗媛/猿一起做一個有溫度的軟體測驗工程師,不讓測驗人孤寂的成長!

愿你我相遇,皆有所獲!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/493172.html
標籤:其他
