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)
原文地址:https://www.cnblogs.com/suancaipaofan/p/13154564.html