1. 程式人生 > 程式設計 >Python unittest discover批量執行程式碼例項

Python unittest discover批量執行程式碼例項

程式碼如下

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 就行了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。