unittest——skip、suite
skip用法:
在Case中,对于不需要运行的用例或者特定条件下不执行的用例,可以应用skip()来实现有条件执行,或者绝对性跳过,用于对指定用例进行不执行操作.
import unittest class forSkip(unittest.TestCase): #无条件跳过该用例 @unittest.skip('跳过这个用例') def test_1(self): print('1') #有条件执行 @unittest.skipIf(1<2,'条件为真,跳过测试') def test_2(self): print('2') @unittest.skipUnless(1>2,'条件为假,跳过测试') def test_3(self): print('3') # 如果用例执行失败,则不计入失败的case数中 @unittest.expectedFailure def test_4(self): print('4') self.assertEqual(4,3,msg='notEqual') def test_5(self): print('5') if __name__ == '__main__': unittest.main()
suite 套件执行用例
import unittest from unittest1.unit_01 import * suite = unittest.TestSuite() # 添加测试用例(子元素)到测试套件(集合) # suite.addTest(forTest('test_b')) # test_b 为函数名称 # suite.addTest(forTest('test_c')) # suite.addTest(forTest('test_a')) # 批量添加用例 # case = [forTest('test_b'),forTest('test_c'),forTest('test_a')] # suite.addTests(case) # test_dir = './' # suite = unittest.defaultTestLoader.discover(start_dir=test_dir,pattern='unit*.py') suite.addTest(unittest.TestLoader().loadTestsFromTestCase(forTest)) # 套件通过TextTestRunner对象进行运行(功能等同于unittest.main()) runner = unittest.TextTestRunner() runner.run(suite)