Erreur d'attributs en Python
-
20-09-2019 - |
Question
Je suis en train d'ajouter un attribut unittest à un objet en Python
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
Cependant, je continue à recevoir "AttributeError: class Boy has no attribute 'BoyTest'"
chaque fois que je l'appelle self_test()
. Pourquoi?
La solution
Comme l'argument de loadTestsFromTestCase
, vous essayez d'accéder Boy.BoyTest
, à savoir, l'attribut BoyTest
d'objet de classe Boy
, qui n'existe tout simplement pas, comme le msg d'erreur vous dit. Pourquoi ne pas utiliser juste BoyTest
il à la place?
Autres conseils
Comme Alex a déclaré que vous essayez d'utiliser BoyTest comme attibute de Boy:
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
Notez le changement:
suite.addTest(loader.loadTestsFromTestCase(Boy.BoyTest))
à:
suite.addTest(loader.loadTestsFromTestCase(BoyTest))
Est-ce résoudre votre problème?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow