Python+Selenium+Unittest 之Unittest5(常用装饰器-跳过用例执行)

目录

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)    #该测试结果为通过的例子

测试结果:


  如果大家在使用过程中遇到了问题,可以在文章下留言,或者关注公众号:刘阿童木的进化记录,进行留言

                   下图为公众号二维码,内容会同步发出,大家可以关注一起学习!

                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘阿童木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值