Atributo de erro em Python

votos
0

Eu estou tentando adicionar um atributo unittest para um objeto em 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

No entanto, eu continuo recebendo AttributeError: class Boy has no attribute 'BoyTest'quando eu ligar self_test(). Por quê?

Publicado 27/08/2009 em 05:28
fonte usuário
Em outras línguas...                            


2 respostas

votos
3

Como o argumento de loadTestsFromTestCase, você está tentando acessar Boy.BoyTest, ou seja, o BoyTestatributo da classe de objeto Boy, que simplesmente não existe, como a msg de erro está lhe dizendo. Por que você não apenas usar BoyTestlá em vez disso?

Respondeu 27/08/2009 em 05:33
fonte usuário

votos
-1

Como Alex afirmou que está tentando usar BoyTest como um 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

Observe a mudança:

suite.addTest(loader.loadTestsFromTestCase(Boy.BoyTest))

para:

suite.addTest(loader.loadTestsFromTestCase(BoyTest))

Será que isso resolveu seu problema?

Respondeu 27/08/2009 em 11:23
fonte usuário

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