Ошибка атрибута в Python - PullRequest
       16

Ошибка атрибута в Python

0 голосов
/ 27 августа 2009

Я пытаюсь добавить атрибут unittest для объекта в 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

Однако, я продолжаю получать "AttributeError: class Boy has no attribute 'BoyTest'" всякий раз, когда я звоню self_test(). Почему?

Ответы [ 2 ]

3 голосов
/ 27 августа 2009

В качестве аргумента loadTestsFromTestCase вы пытаетесь получить доступ к Boy.BoyTest, т. Е. К атрибуту BoyTest объекта класса Boy, который просто не существует, как говорит вам ошибка msg. Почему бы вам просто не использовать BoyTest вместо этого?

0 голосов
/ 27 августа 2009

Как сказал Алекс, вы пытаетесь использовать BoyTest в качестве атрибута мальчика:

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

Обратите внимание на изменение:

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

до:

suite.addTest(loader.loadTestsFromTestCase(BoyTest))

Решает ли это вашу проблему?

...