TestSuite類(lèi)

2022-08-04 15:39 更新

class unittest.TestSuite(tests=())

這個(gè)類(lèi)代表了單個(gè)測(cè)試用例和測(cè)試套件的集合。該類(lèi)提供了測(cè)試運(yùn)行器所需的接口,以使其可以像其他任何測(cè)試用例一樣運(yùn)行。運(yùn)行TestSuite實(shí)例與遍歷套件相同,單獨(dú)運(yùn)行每個(gè)測(cè)試。

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

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

  • ?addTest(test)?

添加TestCase或TestSuite套件。

  • ?addTests(tests)?

將迭代TestCase和TestSuite實(shí)例中的所有測(cè)試添加到此測(cè)試套件。

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

TestSuite共享以下方法TestCase:

  • ?run(result)?

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

  • ?debug()?

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

  • ?countTestCases()?

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

  • ?__iter__()?

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)