AttributeError: 'module' object has no attribute 'TestCase'

Mark picture Mark · Nov 12, 2014 · Viewed 31.1k times · Source

I have file with unittest named: test.py

My code:

import unittest

class Test(unittest.TestCase):

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


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

When I press F5, I get an error:

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'

Answer

Martijn Pieters picture Martijn Pieters · Nov 12, 2014

You have a local file named unittest.py that is being imported instead:

/home/mariusz/Pulpit/unittest.py

Rename that file or remove it altogether. Make sure you remove any corresponding unittest.pyc file in the same folder if it is there.

The file is masking the standard library package.