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).从执行结果可以看出,前置和后置在执行用例前只执行了一次。

  • 相关阅读:
    周末郑州程序员朋友技术交流中的PPT
    WCF并发连接数的问题
    郑州.Net技术人员的招聘信息
    在路上
    Windows8体验(1)安装
    挖掘0day打进不同学校
    记一次绕过宝塔防火墙的BC站渗透
    一次实战中对tp5网站getshell方式的测试
    一次从弱口令到getshell
    一次HW实战
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7998245.html
Copyright © 2011-2022 走看看