unittest用例執行的順序

2022-06-17 12:24:10 字數 1253 閱讀 8394

"""

用例的執行順序涉及多個層級:在多個測試目錄的情況下,先執行哪個目錄?在多個測試檔案的情況下,

先執行哪個檔案?在多個測試類的情況下,先執行哪個測試類?在多個測試方法(用例)的情況下,

先執行哪個測試方法?

"""import unittest

class testbdd(unittest.testcase):

def setup(self):

print("test testbdd:")

def test_ccc(self):

print("test ccc")

def test_aaa(self):

print("test aaa")

def teardown(self):

pass

class testadd(unittest.testcase):

def setup(self):

print("test testadd:")

def test_bbb(self):

print("test bbb")

def teardown(self):

pass

if __name__ == '__main__':

unittest.main()

"""unitest框架預設根據ascii碼的順序載入測試用例,數字與字母的順序為:0-9,a~z,a-z。所以,

testadd類會優先於testbdd類被執行,test_aaa()方法會優先於test_ccc()被執行,

因而它並沒有按照用例從上到下的順序執行。

對於測試目錄與測試檔案來說,unitest框架同樣是按照這個規則來載入測試用例的。

那麼可不可以讓test_ccc()先執行?答案是肯定的,只是不能使用預設的main()方法了,

而是需要通過testsuite類的addtest()方法按照一定的順序來載入。

"""if __name__ == "__main__":

# 構造測試集

suite = unittest.testsuite()

suite.addtest(testbdd("test_ccc"))

suite.addtest(testadd("test_bbb"))

suite.addtest(testbdd("test_aaa"))

# 執行測試

runner = unittest.texttestrunner()

runner.run(suite)

unittest(執行用例)

from selenium import webdriver from time import sleep import unittest 匯入unittest庫 import htmltestrunner 建立乙個類,並且該類繼承unittest.case類 初始環境,每乙個用例執行時都會先執行這...

unittest學習4 跳過用例執行

unittest支援跳過單個測試方法,甚至整個測試用例,還支援將測試用例標記為 測試失敗 基本跳過如下 import unittest import requests,sys class mytestcase unittest.testcase unittest.skip do something ...

unittest設定用例執行超時時間

通過python自帶的unittest框架執行測試套的時候,如果其中乙個測試用例執行出問題,可能會無限迴圈等待或者等待時間超長,這個時候如果能設定超時時間,那麼就可以暫時跳過這個錯誤用例,繼續執行後續的用例。對於這個問題,除了在用例中設定執行的時間,還可以通過裝飾器來解決。import unitte...