Python unittest discover批量執行程式碼例項
阿新 • • 發佈:2020-09-09
程式碼如下
import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自動化用例所存放的路徑 suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None) #匹配出需要執行的py檔案 runner = unittest.TextTestRunner() #TextTestRunner類例項化,目的是為了呼叫TextTestRunner下的run()方法 runner.run(suit) #呼叫TextTestRunner下的run()方法執行用例
import unittest def run_all_cases(file_path,file): discover = unittest.defaultTestLoader.discover(file_path,pattern=file) return discover if __name__ == '__main__': runner = unittest.TextTestRunner() runner.run(run_all_cases( "D:\work_doc\pycharm2\python_selenium","test*.py"))
解釋
1.discover方法載入測試用例
- discover 載入到的用例是一個 list 集合,需要重新寫入到一個 list 物件 testcase 裡,這樣就可以用 unittest 裡面的 TextTestRunner 這裡類的 run 方法去執行。
- TestLoader 該類根據各種標準載入測試用例,並將它們返回給測試套件。正常情況下,不需要建立這個類的例項。unittest 提供了可以共享的 defaultTestLoader 類,可以使用其子類和方法建立例項,discover() 就是其中之一。
2.discover方法裡面有三個引數
- -case_dir:這個是待執行用例的目錄。
- -pattern:這個是匹配指令碼名稱的規則,test*.py 意思是匹配test開頭的所有指令碼。
- -top_level_dir:這個是頂層目錄的名稱,一般預設等於 None 就行了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。