TestSuite類

2022-08-04 15:39 更新

class unittest.TestSuite(tests=())

這個類代表了單個測試用例和測試套件的集合。該類提供了測試運行器所需的接口,以使其可以像其他任何測試用例一樣運行。運行TestSuite實例與遍歷套件相同,單獨運行每個測試。

如果給出了測試,它必須是可用于最初構(gòu)建套件的單個測試用例或其他測試套件的迭代。還提供了其他方法,以便稍后將測試用例和套件添加到集合中。

TestSuite對象的行為與TestCase對象非常相似,只是它們并未實際執(zhí)行測試。相反,它們用于將測試聚合到應(yīng)該一起運行的測試組中。一些額外的方法可用于向TestSuite實例添加測試:

  • ?addTest(test)?

添加TestCase或TestSuite套件。

  • ?addTests(tests)?

將迭代TestCase和TestSuite實例中的所有測試添加到此測試套件。

這相當(dāng)于迭代測試,調(diào)用addTest()每個元素。

TestSuite共享以下方法TestCase:

  • ?run(result)?

運行與此套件相關(guān)的測試,將結(jié)果收集到作為結(jié)果傳遞的測試結(jié)果對象中。請注意,與之不同TestCase.run(),TestSuite.run()需要傳入結(jié)果對象。

  • ?debug()?

運行與此套件相關(guān)的測試而不收集結(jié)果。這允許將測試引發(fā)的異常傳播給調(diào)用者,并且可以用來支持在調(diào)試器下運行測試。

  • ?countTestCases()?

返回此測試對象表示的測試數(shù)量,包括所有單個測試和子套件。

  • ?__iter__()?

按a分組的測試TestSuite總是通過迭代進行訪問。子類可以懶惰地提供覆蓋測試__iter__()。請注意,此方法可能在單個套件上多次調(diào)用(例如,在計算測試或比較相等時),因此重復(fù)測試返回的測試必須相同。

在版本2.7中更改:在早期版本中,TestSuite直接訪問測試而不是迭代,所以覆蓋__iter__()不足以提供測試。

在TestSuite對象的典型用法中,該run()方法由一個TestRunner而不是由最終用戶測試工具調(diào)用。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號