溫馨提示×

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

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

對(duì)python_discover方法遍歷所有執(zhí)行的用例詳解

發(fā)布時(shí)間:2020-09-07 16:28:02 來(lái)源:腳本之家 閱讀:184 作者:n_laomomo 欄目:開發(fā)技術(shù)

當(dāng)我們寫了一個(gè)單個(gè)py的測(cè)試文件時(shí)直接運(yùn)行就ok了,但當(dāng)我們有很多很多個(gè)這樣的py時(shí),難道要一個(gè)一個(gè)的點(diǎn)擊來(lái)運(yùn)行嗎,當(dāng)然不是。我們可以通過(guò)discover方法來(lái)找到所有的用例。

下面直接舉例說(shuō)明discover用法:

一、 準(zhǔn)備工作

目錄結(jié)構(gòu):

對(duì)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方法篩選出來(lái)的用例,循環(huán)添加到測(cè)試套件中
 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(), "測(cè)試用例")
case = discover_case(case_dir=path)
print(case)

Test1代碼(test2~4代碼基本相同):

對(duì)python_discover方法遍歷所有執(zhí)行的用例詳解

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

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

運(yùn)行后用例的文件名、類名、函數(shù)名都會(huì)遍歷出來(lái)

對(duì)python_discover方法遍歷所有執(zhí)行的用例詳解

是不是很簡(jiǎn)單啊。

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

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

以上這篇對(duì)python_discover方法遍歷所有執(zhí)行的用例詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

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

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

AI