目录
1、@unittest.skip()(跳过该装饰器下的用例)
2、@unittest.skipIf()(跳过该装饰器下判断条件为True的用例)
3、@unittest.skipUnless()(跳过该装饰器下判断条件为False的用例)
4、@unittest.expectedFailure()(跳过该装饰器下执行结果失败的用例)
在unittest中还有几个常用使用例跳过的装饰器,比如@unittest.skip()直接跳过该测试用例、@unittest.skipIf()当判断结果为True时,跳过该用例、@unittest.skipUnless()当判断结果为False时,跳过该测试用例、@unittest.expectedFailure()默认测试结果为失败的,当确实是失败的话跳过该用例,当实际结果为通过时,测试结果显示为失败,下面一个一个来看下
1、@unittest.skip()(跳过该装饰器下的用例)
@unittest.skip()为可以跳过该测试用例,需要在跳过的用例前加上该装饰器,可以在括号里填上内容,这样可以知道因为什么原因不用执行该用例,具体写法为@unittest.skip('不需要执行的原因'),可以看下面的例子
import unittest     #导入unittest
class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.skip('这次不用执行')     #给第一个用例加上跳过的装饰器,在后面的括号里可以写原因
    def test1(self):             #定义用例1为test1
        print("test1不会执行")    #用例内容为 打印 test1不会执行
    def test2(self):            #定义用例2为test2
        print("test2需要执行")    #用例内容为 打印 test2需要执行执行结果:
2、@unittest.skipIf()(跳过该装饰器下判断条件为True的用例)
@unittest.skipIf()为条件判断为True时会跳过该条用例,括号里需要填判断条件和跳过的原因, @unittest.skipIf(判断条件,跳过的原因),可以看下下面例子,用例test1的判断条件为True,所以在执行时,跳过了该用例没有执行,用例test2的判断条件为False,所以对该用例进行了执行。
import unittest     #导入unittest
class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.skipIf(True,"判断为true时跳过")     #给第一个用例加上判断为True时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为True
    def test1(self):             #定义用例1为test1
        print("test1不会执行")    #用例内容为 打印 test1不会执行
    @unittest.skipIf(False, "判断为False时执行")  # 给第二个用例加上判断为True时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为False
    def test2(self):            #定义用例2为test2
        print("test2需要执行")    #用例内容为 打印 test2需要执行执行后的结果为:

3、@unittest.skipUnless()(跳过该装饰器下判断条件为False的用例)
@unittest.skipUnless()和@unittest.skipIf()两个的用法一样,只是判断的条件是相反的,@unittest.skipIf()为判断的条件是True跳过,而 @unittest.skipUnless()是当判断的条件为False时跳过,使用方式都是在括号里填上判断条件和跳过的原因即可,@unittest.skipUnless(判断条件,跳过的原因)。
import unittest     #导入unittest
class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.skipUnless(True,"判断为true时执行")     #给第一个用例加上判断为False时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为True
    def test1(self):             #定义用例1为test1
        print("test1需要执行")    #用例内容为 打印 test1不会执行
    @unittest.skipUnless(False, "判断为False时跳过")  # 给第二个用例加上判断为False时不执行的装饰器,在后面的括号里可以判断条件和原因,使其判断结果为False
    def test2(self):            #定义用例2为test2
        print("test2不会执行")    #用例内容为 打印 test2需要执行执行后的结果为:

4、@unittest.expectedFailure()(跳过该装饰器下执行结果失败的用例)
@unittest.expectedFailure()是用例标记该测试用例的预期结果为不通过状态的装饰器,加上该装饰器后,当用例为失败的状态时,在执行时会跳过该用例,而当下面的用例为通过状态时,测试结果会显示为未通过,可以看下下面的例子。
import unittest     #导入unittest
class Test_zsq(unittest.TestCase):   #定义一个测试类为Test_zsq
    @unittest.expectedFailure    #给第一个用例加上@unittest.expectedFailure装饰器,并使用例为是失败的状态
    def test1(self):             #定义用例1为test1
        self.assertEqual(1,2)    #该测试结果为失败的例子
    @unittest.expectedFailure   #给第二个用例加上@unittest.expectedFailure装饰器,并使用例为是通过的状态
    def test2(self):            #定义用例2为test2
        self.assertEqual(1, 1)    #该测试结果为通过的例子测试结果:

如果大家在使用过程中遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记录,进行留言
下图为公众号二维码,内容会同步发出,大家可以关注一起学习!
                                






![[StartingPoint][Tier2]Vaccine](https://img-blog.csdnimg.cn/img_convert/b8d655cc6871374fa21f68a810b121b7.jpeg)












