zoukankan      html  css  js  c++  java
  • (四十二)Unittest单元测试框架之关于unittest还需要知道的-跳过测试和预期失败

    随笔记录方便自己和同路人查阅。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      学习selenium自动化之前,最好先学习HTML、CSS、JavaScript等知识,有助于理解定位及操作元素的原理。关于python和selenium安装请自行搜索别的资料,这里就不多做介绍了,所有例子均使用python3.6+selenium执行的。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

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

    unittest.skip(reason)  无条件地跳过装饰的测试,说明跳过测试的原因。

    unittest.skipIf(condition,reason)  跳过转世的测试,如果条件为真时。

    unittest.skipUnless(condition,reason)  跳过转世的测试,出发条件为真。

    unittest.expectedFailure()  测试标记为失败。不管执行结果是否失败,统一标记为失败。

    新建test.py

    import unittest
    
    class MyTest(unittest.TestCase):
        def setUp(self):
            pass
    
        def tearDown(self):
            pass
    
        @unittest.skip("直接跳过测试")
        def test_skip(self):
            print('test aaa')
    
        @unittest.skipIf(3 > 2,"当条件为True时跳过")
        def test_skip_if(self):
            print('test bbb')
    
        @unittest.skipUnless(3 > 2, "当条件为True时执行测试")
        def test_skip_Unless(self):
            print('test ccc')
    
        @unittest.expectedFailure
        def test_expected_failure(self):
            self.assertEqual(2,3)
    
    if __name__ == '__main__':
        unittest.main()

    运行结果:

    上例中共创建了4条测试用例。第一条测试用例通过@unittest.skip()装饰,直接跳过不执行。第二条用例通过@unittest.skipIf()装饰,当条件为真时不执行,3>2条件为真(True),跳过不执行。第三条用例@unittest.skipUnless()装饰,当条件为真时执行,判断3 > 2条件为真(True),第三条用例执行。第四条用例通过 @unittest.expectedFailure装饰,不管执行结果是否失败,同意标记为失败,但不会抛出错误信息。

    当然,这些方法同样可以作用域测试类,只需将它们定义在测试类上面即可。

    @unittest.skip("直接跳过测试")
    class MyTest(unittest.TestCase):
        def setUp(self):
            pass
  • 相关阅读:
    java 问题记录
    java 构造方法
    java 接口
    java 抽象类
    java 封装
    java 面向对象
    java 集合小练习 超市库存管理系统
    linux常用指令
    个人简历表格
    html5 表格文档常用指令
  • 原文地址:https://www.cnblogs.com/lirongyang/p/11505104.html
Copyright © 2011-2022 走看看