Attributfehler in Python
-
20-09-2019 - |
Frage
Ich versuche, einem Objekt in Python ein unittestes Attribut hinzuzufügen
class Boy:
def run(self, args):
print("Hello")
class BoyTest(unittest.TestCase)
def test(self)
self.assertEqual('2' , '2')
def self_test():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromTestCase(Boy.BoyTest))
return suite
Ich bekomme jedoch immer wieder "AttributeError: class Boy has no attribute 'BoyTest'"
Wann immer ich anrufe self_test()
. Wieso den?
Lösung
Als Argument von loadTestsFromTestCase
, Sie versuchen zugreifen Boy.BoyTest
, dh die BoyTest
Attribut des Klassenobjekts Boy
, was einfach nicht existiert, wie der Fehler MSG Ihnen sagt. Warum benutzt du nicht einfach? BoyTest
da stattdessen?
Andere Tipps
Wie Alex gesagt hat, Sie versuchen, BoyTest als Attibut von Boy zu verwenden:
class Boy:
def run(self, args):
print("Hello")
class BoyTest(unittest.TestCase)
def test(self)
self.assertEqual('2' , '2')
def self_test():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromTestCase(BoyTest))
return suite
Beachten Sie die Änderung:
suite.addTest(loader.loadTestsFromTestCase(Boy.BoyTest))
zu:
suite.addTest(loader.loadTestsFromTestCase(BoyTest))
Löst das Ihr Problem?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow