discover 解決用例的讀取

2021-08-21 16:03:01 字數 1287 閱讀 6199

discover(start_dir,pattern='test*.py',top_level_dir=none)

找到指定目錄下所有測試模組,並可遞迴查到子目錄下的測試模組,只有匹配到檔名才能被載入。如果啟動的不是頂層目錄,那麼頂層目錄必須要單獨指定。

start_dir :要測試的模組名或測試用例目錄。

pattern='test*.py' :表示用例檔名的匹配原則。星號「*」表示任意多個字元。(test*.py是以test開頭)

top_level_dir=none:測試模組的頂層目錄。如果沒頂層目錄(也就是說測試用例不是放在多級目錄中),預設為 none。

import htmltestrunner

import time

import unittest

listaa = 'd:\\程式檔案\\pycharm\\test1\\test_case'

def creatsuite1():

testunit = unittest.testsuite()

# discover 方法定義

discover = unittest.defaulttestloader.discover(listaa,

pattern='start_*.py',

top_level_dir=none)

# discover 方法篩選出來的用例,迴圈新增到測試套件中

for test_suite in discover:

for test_case in test_suite:

testunit.addtests(test_case)

print(testunit)

return testunit

alltestnames = creatsuite1()

# 取當前時間

now = time.strftime("%y-%m-%d-%h_%m_%s", time.localtime(time.time()))

# 定義個報告存放路徑,支援相對路徑

filename = "d:\\程式檔案\\pycharm\\test1\\report\\" + now + 'result.html'

fp = open(filename, 'wb')

runner = htmltestrunner.htmltestrunner(stream=fp,

description=u'用例執**況:')

# 執行測試用例

runner.run(alltestnames)

fp.close()

pytest之解決用例依賴

pytest中用例之間的順序預設是按檔名ascll碼排序,檔案內的用例預設是按照從上往下順序執行。要改變用例的執行順序,可以安裝第三方外掛程式pytest ordering實現自定義用例順序,由此可以解決用例的依賴問題。命令如下 pip install pytest ordering按數字排序用法如...

業務用例與系統用例的區別

1 業務用例就是要完成的業務,系統用例是系統要做的事情,兩者的域不同。2 業務建模主要描述了該專案涉及的所有業務,需求模型主要是描述為了滿足業務需求系統要做什麼,因此,需求模型與業務模型相比,它描述的只是業務模型的乙個子集。3 比方說我們設計乙個自動提款機系統,它可以滿足使用者的取款 改密 查詢等需...

用例的本質

提到uml中的用例,很多人可能都會覺得很熟悉經常聽說。如果問一句什麼是用例,很多的回答就是用例圖中的乙個橢圓。用例僅僅是用例圖中的乙個橢圓嗎?當然不是,那麼用例的本質是什麼呢?1 用例發展史 為了搞清用例的本質我們首先了解一下用例技術的發展史。uml中的用例概念是由有uml之父ivar jacobs...