我想使用我在子类中初始化的变量来在父类的setUpClass中使用,这里是下面的代码片段:
class BaseTest(unittest.TestCase):
def __init__(cls, arg):
unittest.TestCase.__init__(cls, arg)
@classmethod
def setUpClass(cls):
print "Base.setUp()" ,cls.param
@classmethod
def tearDownClass(cls):
print "Base.tearDown()"
class TestSomething(BaseTest):
def __init__(cls, arg):
BaseTest.__init__(cls, arg)
cls.param = 'hello'
def test_silly(self):
print "Test method"
self.assertTrue(1+1 == 2)
def test_silly1(self):
print "Test method"
self.assertTrue(1+1 == 2)
它给了我这个:AttributeError: type object 'TestSomething' has no attribute 'param'
,我理解这是真的,因为setUpClass and tearDownClass
是类而不是实例方法,任何方式使用在基类中实例化的变量来在{{1}中使用}?
答案 0 :(得分:0)
您需要在之前设置cls.param
,然后拨打BaseTest.__init__(cls, arg)
。