2014-11-12 5 views
11

У меня есть файл '' TestCase с UnitTest имени: test.pyAttributeError: 'модуль' объект не имеет атрибута

Мой код:

import unittest 

class Test(unittest.TestCase): 

    def myTest(self): 
     a = 1 
     self.assertEqual(a, 1) 


if __name__ == '__main__': 
    unittest.main() 

Когда я нажимаю F5, я получаю сообщение об ошибке:

Traceback (most recent call last): 
    File "/home/mariusz/Pulpit/test.py", line 1, in <module> 
    import unittest 
    File "/home/mariusz/Pulpit/unittest.py", line 3, in <module> 
AttributeError: 'module' object has no attribute 'TestCase' 
+7

Вы маскируете встроенный модуль. Что означает 'import unittest; печатать unittest' продукцию? Возможно, вы назвали свой модуль 'unittest.py'? Переименуйте все, что импортируется вместо стандартного пакета библиотеки. –

+0

Мой файл имеет имя: «test.py», import unittest, print unittest produ: AttributeError: объект «module» не имеет атрибута «TestCase» – Mark

+0

Поместите печать ** перед ** '' class Test (..) 'line , Дополнительная строка будет напечатана * до * трассировки. –

ответ

28

у вас есть локальный файл с именем unittest.py который импортируемый вместо:

/home/mariusz/Pulpit/unittest.py 

Переименуйте этот файл или полностью удалите его. Убедитесь, что вы удаляете любой соответствующий файл unittest.pyc в той же папке, если он есть.

Файл маскирует стандартный пакет библиотеки.

+1

У меня был файл 'unittest.pyc'! –

+1

d'oh! это расстраивало. –

+0

Мой файл unittest.pyc был скрыт в моем редакторе по умолчанию. –

Смежные вопросы