Вопрос

Я пытаюсь добавить атрибут 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(). Анкет Почему?

Это было полезно?

Решение

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

Другие советы

Как заявил Алекс, вы пытаетесь использовать 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))

Это решает вашу проблему?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top