1. 程式人生 > >python使用discover方法遍歷所有要執行的用例

python使用discover方法遍歷所有要執行的用例

開始 over 所有 discover 文件名 ret .get 通過 getcwd

當我們寫了一個單個py的測試文件時直接運行就ok了,但當我們有很多很多個這樣的py

時,難道要一個一個的點擊來運行嗎,當然不是。我們可以通過discover方法來找到所有的

用例。

下面直接舉例說明discover用法:
一、 準備工作

目錄結構:
技術分享圖片

DiscoverCase.py 文件代碼

import unittest
import os

def discover_case(case_dir):
    # 待執行用例的目錄
    testcase = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,pattern="*.py",top_level_dir=None)
    # discover方法篩選出來的用例,循環添加到測試套件中
    print(discover)
    for test_suite in discover:
        for test_case in test_suite:
            print(test_case)
            # 添加用例到testcase
            #testcase.addTests(test_case)
            testcase.addTests(test_case)

    return(testcase)
path = os.path.join(os.getcwd(), "測試用例")
case = discover_case(case_dir=path)
print(case)

Test1代碼(test2~4代碼基本相同):
技術分享圖片

註意:每個testcase裏面的執行用例(即以test開頭的函數)必須大於或等於兩個,不然會報錯。

二、 寫好這些後我們就直接跑程序看結果

運行後用例的文件名、類名、函數名都會遍歷出來
技術分享圖片

是不是很簡單啊。

註意:如果用例名稱全為中文是不可以加載的到的,必須以字母開始,比如“i登錄.py”

這樣是可以被加載到的,如果直接寫”登錄.py”這樣是不能被加載到的。

python使用discover方法遍歷所有要執行的用例