26-unittest之装饰器(@classmethod)

        unittest中的setUp可以在每个测试方法运行前执行,有效的减少了代码量。但有个弊端,比如打开浏览器操作,执行每个测试方法前都要重新打开一次,这样就会浪费很多时间。

        是否可以只打开一次浏览器,执行完所有的测试方法后再关闭浏览器呢?这里就需要用到装饰器(@classmethod)来解决了。

一、装饰器(@classmethod)

1)setUp与setUpClass的区别

  • setup(self):每个测试方法运行前都会运行一次。
  • teardown(self):每个测试方法运行完之后都会执行一次。
  • setUpClass(cls):与装饰器@classmethod 一起使用,在所有测试方法运行前运行,且只运行一次。
  • tearDownClass(cls):与装饰器@classmethod 一起使用,在所有测试方法运行完之后运行,且只运行一次

2)在类中的方法上加上@classmethod,用来表示该方法是类方法。

二、执行顺序

import unittest

class Demo(unittest.TestCase):
    def setUp(self):
        print("setUp!")

    def tearDown(self):
        print("tearDown!")

    @classmethod
    def setUpClass(cls):
        print("setUpClass!")

    @classmethod
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值