würde Ich mag eine Variable verwenden, die ich in der Unterklasse zu initialisieren, ist der Code-Snippet unten hier im setUpClass der Elternklasse verwendet werden:Mit Variable innerhalb setUpClass (Klassenmethode) - Unittest Python
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)
Es gibt mir dies: AttributeError: type object 'TestSomething' has no attribute 'param'
, die ich verstehe, ist wahr als setUpClass and tearDownClass
sind Klasse und nicht Instanz Methode, jede Möglichkeit, Variable in der Basisklasse verwendet in setUpClass of parent class
verwendet zu verwenden?
'' 'print" Base.setUp() ", cls.param AttributError: Typ Objekt 'TestSomething' hat kein Attribut 'param'''' Auch nachdem es vor dem Superaufruf deklariert wurde. –
Es klingt wie 'setUpClass' aufgerufen wird, bevor eine Instanz der Klasse erstellt wird. Sie müssen Details zu dem von Ihnen verwendeten Test-Runner angeben. – chepner