2014-11-12 14 views
11

mam plik 'TESTCASE' z unittest nazwie: test.pyAttributeError: 'moduł' obiekt ma atrybut

Mój kod:

import unittest 

class Test(unittest.TestCase): 

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


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

Po naciśnięciu klawisza F5, pojawia się błąd:

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

Maskujesz wbudowany moduł. Co oznacza "importuj unittest; wydrukować Unittest' Produkować? Czy nazwałeś swój moduł 'unittest.py'? Zmień nazwę importowanego obiektu zamiast standardowego pakietu biblioteki. –

+0

Mój plik ma nazwę: "test.py", importuj unittest, wydrukuj unittestowe produkty: AttributeError: obiekt 'module' nie ma atrybutu 'TestCase' – Mark

+0

Umieść wydruk ** przed ** wiersz 'class Test (..)' . Dodatkowa linia zostanie wydrukowana * przed * traceback. –

Odpowiedz

28

masz lokalnego pliku o nazwie unittest.py który jest importowany zamiast:

/home/mariusz/Pulpit/unittest.py 

Zmień nazwę tego pliku lub usuń go całkowicie. Upewnij się, że usunąłeś odpowiadający mu plik unittest.pyc w tym samym folderze, jeśli istnieje.

Plik jest maskowany standardowego pakietu biblioteki.

+1

Miałem plik 'unittest.pyc'! –

+1

d'oh! to było frustrujące. –

+0

Mój plik unittest.pyc został domyślnie ukryty w moim edytorze. –

Powiązane problemy