Erreur d'attributs en Python

voix
0

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?

Créé 27/08/2009 à 05:28
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
3

Comme l'argument loadTestsFromTestCase, vous essayez d'accéder Boy.BoyTest, par exemple, l' BoyTestattribut de l' objet de classe Boy, qui n'existe tout simplement pas, comme le msg d'erreur vous dit. Pourquoi ne pas vous utilisez juste BoyTestil à la place?

Créé 27/08/2009 à 05:33
source utilisateur

voix
-1

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 que cela résout votre problème?

Créé 27/08/2009 à 11:23
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more