unittest跳过测试和预期失败

在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败。unittest提供了这些需求的装饰器。

Python案例:

import unittest


class MyTestCase(unittest.TestCase):
    def setUp(self):
        print('初始化')

    @unittest.skip("直接跳过测试")
    def test_a(self):
        print('case1')

    @unittest.skipIf(4 > 3, "当条件为True时跳过测试")
    def test_b(self):
        print('case1.1')

    def tearDown(self):
        print('结束')


class MyTestCase_b(unittest.TestCase):
    def setUp(self):
        print('初始化')

    @unittest.skipUnless(2 > 3, " 当条件为False时跳过测试 ")
    def test_a(self):
        print('case2')

    def test_b(self):
        print('case2.1')

    def tearDown(self):
        print('结束')

if __name__ == '__main__':
    suite=unittest.TestSuite()
    suite.addTest(MyTestCase('test_a'))
    suite.addTest(MyTestCase('test_b'))
    suite.addTest(MyTestCase_b('test_a'))
    suite.addTest(MyTestCase_b('test_b'))
    '''
    以上suite中加载了4个case,但是其中三个添加了装饰器。所以只会运行最后一个
    '''    

    runner=unittest.TextTestRunner()
    runner.run(suite)

你可能感兴趣的:(unittest跳过测试和预期失败)