Unittest自动化测试框架教程(三)——Python中测试用例跳过skip操作详解(附实例演示)

 “ 本文通过多个实例,详细解释了unittest中跳过操作的分类,跳过操作参数的导入,以及介绍了测试用例之间指定参数联动判断跳过的方法,尽情享用吧!“

PS:“大佬可直接跳转至文末总结,阅读相关内容 ”

  • 博主每篇文章的注释都是干货!每个代码段都有详细注释,一定要认真看注释!!!
  • 重要的事情说三遍:一定要看注释!!!一定要看注释!!!一定要看注释!!!

跳过的类型

  • 直接跳过、条件跳过

  • 一定要认真看注释!!!
# 1.跳过语句:直接跳过、条件跳过
# @unittest.skip('跳过的原因')
# @unittest.skipIf('跳过条件', '跳过的原因')
# @unittest.skipUnless('不跳过的条件', '不跳过的原因')
# 实例演示:下列测试仅仅执行test3,因为test1跳过、test2满足跳过条件,test3满足不跳过条件
class BasicTestCase(unittest.TestCase):
    @unittest.skip('因为我想跳过所以跳过')  # 直接跳过
    def test1(self):
        print('执行test1')
    @unittest.skipIf(888 < 999, '因为888比999小,所以跳过')  # 条件性跳过
    def test2(self):
        print('执行test2')
    @unittest.skipUnless('你真厉害', '因为你真厉害,所以不跳过')
    def test3(self):
        print('执行test3')
if __name__ == '__main__':  # 设定执行unittest的主函数
    unittest.main()

条件跳过参数的导入

  • 必须在类下直接定义
  • 因为@unittest.skipIf()语句执行优先级大于所有def,即无论是setUp()、setUpClass()还是test2()都在其之后执行,所以定义必须在类下

  • 一定要认真看注释!!!
# 2.判定跳过的参数导入方法
# 2.必须在类下直接定义,如示例的number
# 2.因为@unittest.skipIf()语句执行优先级大于所有def,即无论是setUp()、setUpClass()还是test2()都在其之后执行,所以定义必须在类下
# 实例演示:
class BasicTestCase(unittest.TestCase):
     number = '888'
     @unittest.skipIf(number < '999', '因为number比999小,所以跳过')
     def test2(self):     # 不会被执行,因为888满足跳过的条件
         print('执行test2')    

测试用例之间参数联动判定跳过的方法

  • 使用测试用例之间(例如:test1()、test2())相关参数联动设定跳过的方法

  • 语句编码+类属性变量---类属性变量通常用列表、字典等,解决多条件依赖时方便

  • 一定要认真看注释!!!
# 3.使用tests之间相关参数联动设定跳过的方法,语句编码+类属性变量---变量通常用多值类型的结构(列表、字典等,因为可能依赖多个条件)
class BasicTestCase(unittest.TestCase):
    judge = {'first': 0}

    def test2(self):
        print('执行test2')
        BasicTestCase.judge['first'] = 888    # 更改下个测试所要依赖的变量值

    def test3(self):
        if BasicTestCase.judge['first'] == 888:   # 设定判定条件看是否需要跳过
            return    # 若满足条件则直接return结束,此test下的之后的语句均不执行
        # print('执行test3')  # 此段代码中这句话加与不加都并不会被执行,测试通过但执行语句并没有执行,因为根据依赖的条件test3已经结束

if __name__ == '__main__':  # 设定条件执行unittest的主函数
    unittest.main()

 总结

  • 跳过操作的分类:直接跳过、条件跳过
  • 判定跳过的参数导入方法:必须在类下直接定义
  • 使用tests之间相关参数联动设定跳过的方法,编码方式+变量,注意跳过的是当前test下return后的语句

💗 “ 想和你一起看漫天繁星,共许彼岸三千光明 。”

                                                                ——Created By 是羽十八ya

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是羽十八ya

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

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

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

打赏作者

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

抵扣说明:

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

余额充值