單個添加case到TestSuite中抄瑟,來執(zhí)行測試
# TestSuite控制用例的執(zhí)行
# 導入框架
importunittest
# 導入測試方法類
fromtest_mathsimportTestMaths
# 執(zhí)行測試的流程處理
if__name__=='__main__':
# 按照一定的順序來執(zhí)行測試用例
# 實例化一個TestSuite
suite=unittest.TestSuite()
# 將用例單個添加進入到TestSuite中
suite.addTest(TestMaths("test_multiss"))
suite.addTest(TestMaths("test_add"))
# 按照定義好的順序執(zhí)行測試
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
執(zhí)行結果如下孽江,先執(zhí)行第一個case再執(zhí)行第二個case嘁锯,這就是單個添加進入到TestSuite中按添加順序執(zhí)行測試
TestLoader的應用
寫法一
# TestSuite控制用例的執(zhí)行
# 導入框架
importunittest
# 導入測試方法類
fromtest_mathsimportTestMaths
# 執(zhí)行測試的流程處理
if__name__=='__main__':
# 按照一定的順序來執(zhí)行測試用例
# 實例化一個TestSuite
suite=unittest.TestSuite()
# 使用addTests+TestLoader
# loadTestsFromName(),傳入'模塊名.TestCase名'
# TestLoader用來加載TestCase到TestSuite中絮缅,loadTestsFrom_()方法棋嘲,是從各個地方查找TestCase,創(chuàng)建它們的實例县爬,然后add到TestSuite中,再返回一個TestSuite實例
suite.addTests(unittest.TestLoader().loadTestsFromName('test_maths.TestMaths'))
# 執(zhí)行測試,TestLoader的方法是無法對case進行排序的
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
執(zhí)行結果如下软族,TestMaths中所有函數(shù)都執(zhí)行了測試刷喜,但是是無順序的
寫法二
# TestSuite控制用例的執(zhí)行
# 導入框架
importunittest
# 導入測試方法類
fromtest_mathsimportTestMaths
# 執(zhí)行測試的流程處理
if__name__=='__main__':
# 按照一定的順序來執(zhí)行測試用例
# 實例化一個TestSuite
suite=unittest.TestSuite()
# 使用addTests+TestLoader
# loadTestsFromName(),傳入'模塊名.TestCase名'
# TestLoader用來加載TestCase到TestSuite中立砸,loadTestsFrom_()方法掖疮,是從各個地方查找TestCase,創(chuàng)建它們的實例,然后add到TestSuite中仰禽,再返回一個TestSuite實例
#? loadTestsFromNames()跟loadTestsFromNames()是相同的功能氮墨,只不過它接收的是字符串列表
suite.addTests(unittest.TestLoader().loadTestsFromNames(['test_maths.TestMaths']))
# 執(zhí)行測試,TestLoader的方法是無法對case進行排序的
runner = unittest.TextTestRunner()
runner.run(suite)
返回的結果如下圖,TestMaths中所有函數(shù)都執(zhí)行了測試吐葵,但是是無順序的
寫法三
# TestSuite控制用例的執(zhí)行
# 導入框架
importunittest
# 導入測試方法類
fromtest_mathsimportTestMaths
# 執(zhí)行測試的流程處理
if__name__=='__main__':
# 按照一定的順序來執(zhí)行測試用例
# 實例化一個TestSuite
suite=unittest.TestSuite()
# 使用addTests+TestLoader
# loadTestsFromTestCase()獲取其中的所有測試方法
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMaths))
# 執(zhí)行測試,TestLoader的方法是無法對case進行排序的
runner = unittest.TextTestRunner()
runner.run(suite)
返回的結果如下圖规揪,TestMaths中所有函數(shù)都執(zhí)行了測試,但是是無順序的