zoukankan      html  css  js  c++  java
  • unittest框架学习

    1、命名规则

    以test_开头

    1 impot unittest
    2 
    3 class Cs(unittest.TestClass):
    4     def test_01(self):
    5         pass

    2、装饰器:

    @classmethod  只执行一次

    @unitest.skip(reason) 无条件跳过执行测试,描述为什么跳过测试

    @unittest.skipif(conditition,reasonconditition是true时跳过测试

    @unittest.skipunless(condition,reason) condition不是true时跳过测试

    @expected failure 使用@unittest.expectedFailure装饰器,如果test失败了,不计入失败的case里面

     1 import unittest
     2 
     3 
     4 class TsetCase(unittest.TestCase):
     5     # 执行用例前
     6     @classmethod
     7     def tearDownClass(cls):
     8         print('测试结束了!!')
     9 
    10     @classmethod
    11     def setUpClass(cls):
    12         print('开始测试了!!')
    13 
    14     @unittest.skip('不需要执行这条测试用例')
    15     def test_01(self):
    16         a = 1
    17         b = 2
    18         self.assertEqual(a + b, 3)
    19 
    20 if __name__ == '__main__':
    21     unittest.main()

    参考来源:https://www.jianshu.com/p/ba5dbcb5d71b

    3‘、固定套件:

    unittest module包含了编写运行unittest的功能,自定义的test class都要集成

    unitest.TestCase类,test method要以test开头,运行顺序根据名字排序,特殊方法:

    ①tearDownClass(cls)  执行测试前函数

    ②setUpClass(cls)     执行用例后函授

    ③setUp(self)        每次执行测试都要执行一次

    ④tearDown(self)    每次执行测试完成后执行一次

    运行测试方法:

    unittest.main()               执行所有的case   

    unittest.TestSuite()             测试套件

    runner = unittest.TextTestRunner()      实例化TextTestRunner  

    import unittest
    
    
    class TsetCase(unittest.TestCase):
        # 执行用例前
        @classmethod
        def tearDownClass(cls):
            print('测试结束了!!')
    
        @classmethod
        def setUpClass(cls):
            print('开始测试了!!')
    
        def setUp(self):
            print('开始执行')
    
        def tearDown(self):
            print('执行完成')
    
        @unittest.skip('不需要执行这条测试用例')
        def test_01(self):
            a = 1
            b = 2
            self.assertEqual(a + b, 3)
    
        def test_02(self):
            a = 2
            b = 3
            self.assertEqual(a+b,4)
    
    if __name__ == '__main__':
        # unittest.main()
        # suite = unittest.TestSuite()
        # suite.addTest(TsetCase('test_01'))
        # runner = unittest.TextTestRunner()
        # runner.run(suite)
        ljwj = r'F:项目京东登陆TestCases'
        cszx = unittest.defaultTestLoader.discover(start_dir=ljwj , pattern='test_*.py')
        runner = unittest.TextTestRunner()
        runner.run(cszx)

         

  • 相关阅读:
    路由器安全-FPM
    网络基础设施保护和局域网安全
    DMVPN基础配置
    IPSec的链路和设备备份
    IPSec的高可用性技术
    关于Mobility Express转LAP注意事项
    实际中可能遇到的NAT问题(IPsec)
    NAT-T和PAT(IPSec)
    加密设备NAT对IPSec的影响
    影响IPSec的网络问题
  • 原文地址:https://www.cnblogs.com/zihkj/p/12146287.html
Copyright © 2011-2022 走看看