Traceback(most recent call last):File"manage.py", line 10,in<module> execute_from_command_line(sys.argv)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385,in execute_from_command_line
utility.execute()File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377,in execute
self.fetch_command(subcommand).run_from_argv(self.argv)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50,in run_from_argv
super(Command, self).run_from_argv(argv)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/base.py", line 288,in run_from_argv
self.execute(*args,**options.__dict__)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71,in execute
super(Command, self).execute(*args,**options)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/base.py", line 338,in execute
output = self.handle(*args,**options)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 88,in handle
failures = test_runner.run_tests(test_labels)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/test/runner.py", line 146,in run_tests
suite = self.build_suite(test_labels, extra_tests)File"/home/username/local/dev/local/lib/python2.7/site-packages/django/test/runner.py", line 66,in build_suite
tests = self.test_loader.loadTestsFromName(label)File"/usr/lib/python2.7/unittest/loader.py", line 100,in loadTestsFromName
parent, obj = obj, getattr(obj, part)AttributeError:'module' object has no attribute 'tests'
AttributeError: ‘module’ object has no attribute ‘tests’
Below is my directory structure. I’ve also added app1 to my installed apps config.
Traceback (most recent call last):
File "manage.py", line 10, in <module> execute_from_command_line(sys.argv)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv
super(Command, self).run_from_argv(argv)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71, in execute
super(Command, self).execute(*args, **options)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 88, in handle
failures = test_runner.run_tests(test_labels)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/test/runner.py", line 146, in run_tests
suite = self.build_suite(test_labels, extra_tests)
File "/home/username/local/dev/local/lib/python2.7/site-packages/django/test/runner.py", line 66, in build_suite
tests = self.test_loader.loadTestsFromName(label)
File "/usr/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'tests'
I finally figured it out working on another problem. The problem was that my test couldn’t find an import.
It looks like you get the above error if your test fails to import. This makes sense because the test suite can’t import a broken test. At least I think this is what is going on because I fixed the import within my test file and sure enough it started working.
To validate your test case just try import the test case file in python console.
I had the same error as Chris. I had deleted an old model, then run tests.py, but another file (views.py) was still trying to import the deleted model.
When I took out the now-obsolete import statement, problem solved.
$root@13faefes8: python manage.py shell
Type"help","copyright","credits"or"license"for more information (InteractiveConsole)>>>from app.model.notification importNotificationTraceback(most recent call last):File"<console>", line 1,in<module>ImportError:No module named model.notification
Make sure that all modules that you are using in your script are not broken. By this I mean check spelling in your import statements.
# invalid import
from app.model.notification import Notification
# valid import
from app.models.notification import Notification
You can test yours modules by executing imports statements in djano’s interactive console.
$root@13faefes8: python manage.py shell
Type "help", "copyright", "credits" or "license" for more information (InteractiveConsole)
>>> from app.model.notification import Notification
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named model.notification
I resolved the error “AttributeError: module ‘utils’ has no attribute ‘name_of_my_function’ ” by fixing a circular import reference. My files manage.py and utils.py each had an import statement pointing at each other.
According to django document When you run your tests, the default behavior of the test utility is to find all the test cases (that is, subclasses of unittest.TestCase) in any file whose name begins with test, automatically build a test suite out of those test cases, and run that suite.
Got the same error, but checked all the reasons list here, did not fix my problem.
Finally figure it out that, the reason is that the name of one method that imported but not used yet is not correct. Though it is a stupid error, it happens.
I had the same error. It turned out to be because I named my module common.py, yet there already was some other common.py module. All I had to do was to rename my module.
I had a similar error while writing a unittest.TestCase.
When I re-typed the same method definition as-is, it seemed to work !
The only change I noticed on PyCharm was the ‘override’ icon pop-up the 2nd time, as the setup(self) method needs to override the original method defined in TestCase.