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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM