這個類代表了單個測試用例和測試套件的集合。該類提供了測試運(yùn)行器所需的接口,以使其可以像其他任何測試用例一樣運(yùn)行。運(yùn)行TestSuite實(shí)例與遍歷套件相同,單獨(dú)運(yùn)行每個測試。
如果給出了測試,它必須是可用于最初構(gòu)建套件的單個測試用例或其他測試套件的迭代。還提供了其他方法,以便稍后將測試用例和套件添加到集合中。
TestSuite對象的行為與TestCase對象非常相似,只是它們并未實(shí)際執(zhí)行測試。相反,它們用于將測試聚合到應(yīng)該一起運(yùn)行的測試組中。一些額外的方法可用于向TestSuite實(shí)例添加測試:
addTest(test)
?添加TestCase或TestSuite套件。
addTests(tests)
?將迭代TestCase和TestSuite實(shí)例中的所有測試添加到此測試套件。
這相當(dāng)于迭代測試,調(diào)用addTest()每個元素。
TestSuite共享以下方法TestCase:
run(result)
?運(yùn)行與此套件相關(guān)的測試,將結(jié)果收集到作為結(jié)果傳遞的測試結(jié)果對象中。請注意,與之不同TestCase.run(),TestSuite.run()需要傳入結(jié)果對象。
debug()
?運(yùn)行與此套件相關(guān)的測試而不收集結(jié)果。這允許將測試引發(fā)的異常傳播給調(diào)用者,并且可以用來支持在調(diào)試器下運(yùn)行測試。
countTestCases()
?返回此測試對象表示的測試數(shù)量,包括所有單個測試和子套件。
__iter__()
?按a分組的測試TestSuite總是通過迭代進(jìn)行訪問。子類可以懶惰地提供覆蓋測試__iter__()。請注意,此方法可能在單個套件上多次調(diào)用(例如,在計(jì)算測試或比較相等時),因此重復(fù)測試返回的測試必須相同。
在版本2.7中更改:在早期版本中,TestSuite直接訪問測試而不是迭代,所以覆蓋__iter__()不足以提供測試。
在TestSuite對象的典型用法中,該run()方法由一個TestRunner而不是由最終用戶測試工具調(diào)用。
更多建議: