python@classmethod类装饰器_unittest中有个classmethod装饰器参数传递?

谢谢您的回答,但是我参考您的方法创建在init中,并传入参数self,下面两个类装饰器调用self,但在最后面teardownclass中依然无法调用,方法一失败。方法二可行。

方法一:class Test_Comeponent(unittest.TestCase):

def __init__(self):

self.driver = webdriver.Chrome()

@classmethod

def setUpClass(self):

self.driver = webdriver.Chrome()

self.driver.implicitly_wait(5)

self.driver.maximize_window()

self.driver = forms(self.driver)

self.driver.open(def tearDownClass(self):

self.driver.quit()

方法二:

class Test_Comeponent(unittest.TestCase):

driver = webdriver.Chrome()

@classmethod

def setUpClass(cls):

#cls.driver = webdriver.Chrome()

cls.driver.implicitly_wait(5)

cls.driver.maximize_window()

cls.driver = forms(cls.driver)

cls.driver.open(def tearDownClass(cls):

cls.driver.quit()

def test_form1(self):

pass

目前可以采用方法二传递,但是资料说明 cls和self在这里并无太大区别,一般self一般指实例化对象,cls指的是类本身,显然采用类装饰器后,cls参数在这里作为类本身,所以调用的必须时类的变量,init方法在这里同样是指对象实例化后,所以init的方法中的变量值得时实例化后的对象变量,而不是类本身自带的变量,必须实例化后拥有,我这样理解对么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值