2014-11-12 42 views
11

Ho file con unittest denominato: test.pyAttributeError: 'modulo' oggetto non ha attributo 'TestCase'

Il mio codice:

import unittest 

class Test(unittest.TestCase): 

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


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

Quando premo F5, ottengo un errore:

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

Si sta mascherando il modulo integrato. Cosa significa "import unittest; stampare unittest' produce? Hai nominato il tuo modulo 'unittest.py' forse? Rinominare qualsiasi cosa viene importata al posto del pacchetto della libreria standard. –

+0

Il mio file ha nome: "test.py", importa unittest, stampa unittest produce: AttributeError: l'oggetto 'module' non ha attributo 'TestCase' – Mark

+0

Metti la stampa ** prima ** della riga 'class Test (..)' . Una riga aggiuntiva verrà stampata * prima * del traceback. –

risposta

28

si ha un file locale denominato unittest.py che viene importata invece:

/home/mariusz/Pulpit/unittest.py 

Rinominare il file o rimuoverlo del tutto. Assicurati di rimuovere qualsiasi file unittest.pyc corrispondente nella stessa cartella, se presente.

Il file sta mascherando il pacchetto della libreria standard.

+1

Ho avuto il file 'unittest.pyc'! –

+1

d'oh! era frustrante. –

+0

Il mio file unittest.pyc era nascosto nel mio editor per impostazione predefinita. –

Problemi correlati