溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python使用discover方法遍歷所有要執(zhí)行的用例

發(fā)布時間:2020-08-06 02:40:24 來源:網(wǎng)絡(luò) 閱讀:2167 作者:niedongri 欄目:移動開發(fā)

當(dāng)我們寫了一個單個py的測試文件時直接運(yùn)行就ok了,但當(dāng)我們有很多很多個這樣的py

時,難道要一個一個的點(diǎn)擊來運(yùn)行嗎,當(dāng)然不是。我們可以通過discover方法來找到所有的

用例。

下面直接舉例說明discover用法:
一、 準(zhǔn)備工作

目錄結(jié)構(gòu):
python使用discover方法遍歷所有要執(zhí)行的用例

DiscoverCase.py 文件代碼

import unittest
import os

def discover_case(case_dir):
    # 待執(zhí)行用例的目錄
    testcase = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,pattern="*.py",top_level_dir=None)
    # discover方法篩選出來的用例,循環(huán)添加到測試套件中
    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代碼基本相同):
python使用discover方法遍歷所有要執(zhí)行的用例

注意:每個testcase里面的執(zhí)行用例(即以test開頭的函數(shù))必須大于或等于兩個,不然會報(bào)錯。

二、 寫好這些后我們就直接跑程序看結(jié)果

運(yùn)行后用例的文件名、類名、函數(shù)名都會遍歷出來
python使用discover方法遍歷所有要執(zhí)行的用例

是不是很簡單啊。

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

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI