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的方法中的变量值得时实例化后的对象变量,而不是类本身自带的变量,必须实例化后拥有,我这样理解对么

你可能感兴趣的:(python@classmethod类装饰器_unittest中有个classmethod装饰器参数传递?)