Ошибка атрибута в Python
-
20-09-2019 - |
Вопрос
Я пытаюсь добавить атрибут 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))
Это решает вашу проблему?
Не связан с StackOverflow