zoukankan      html  css  js  c++  java
  • unittest之装饰器

              前面讲到 unittest 里面 setUp 可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,
    这样就会浪费很多时间。于是就想是不是可以只打开一次浏览器,执行完用例再关闭呢?这就需要用到装饰器(@classmethod)来解决了。

    1、装饰器

    1).用 setUp 与 setUpClass 区别
    setup():每个测试 case 运行前运行
    teardown():每个测试 case 运行完后执行
    setUpClass():必须使用@classmethod 装饰器,所有 case 运行前只运行一次
    tearDownClass():必须使用@classmethod 装饰器,所有 case 运行完后只运行一次
    2).@是修饰符,classmethod 是 python 里的类方法

    2、执行顺序

    1).用类方法写几个简单 case

    # coding:utf-8
    import unittest
    import time
    class Test(unittest.TestCase):
        @classmethod
        def setUpClass(cls):
            print "start!"
        @classmethod
        def tearDownClass(cls):
            time.sleep(1)
            print "end!"
        def test01(self):
            print "执行测试用例 01"
    
        def test03(self):
            print "执行测试用例 03"
        def test02(self):
            print "执行测试用例 02"
        def addtest(self):
            print "add 方法"
    if __name__ == "__main__":
    unittest.main()                        
    

     2).从执行结果可以看出,前置和后置在执行用例前只执行了一次。

  • 相关阅读:
    等比数列求和公式
    整数除法向上取整
    P3601 签到题
    AcWing 787. 归并排序
    约数个数与约数和专题
    幻灯片
    Div+css学习笔记
    css的树形菜单
    javascript省市联动封装
    url传递中文的解决方案
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7998245.html
Copyright © 2011-2022 走看看