Opened 8 years ago

Closed 6 years ago

#3310 closed defect (duplicate)

manage.py test does not work if there is not a model.py in the application

Reported by: cmgreen@… Owned by: nobody
Component: Testing framework Version: master
Severity: normal Keywords:
Cc: akaihol+django@… Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: yes Patch needs improvement: no
Easy pickings: UI/UX:

Description

I have a project where I am not using any models. My appdir looked like

   app/views.py
   app/__init__.py
   app/tests.py

I created a tests.py and the get_apps would fail to find the application, even though it was listed under installed apps. When running ./manage.py test app, it would fail saying there was no application with that label.

Attachments (2)

test_applications_with_no_models.patch (9.0 KB) - added by medhat 8 years ago.
test_applications_with_no_models.version_2.patch (9.2 KB) - added by medhat 8 years ago.
this should replace the previous patch

Download all attachments as: .zip

Change History (7)

comment:1 Changed 8 years ago by mir@…

  • Triage Stage changed from Unreviewed to Accepted

I could reproduce this.

Traceback (most recent call last):
  File "manage.py", line 11, in ?
    execute_manager(settings)
  File "/home/mir/lib/python/django/core/management.py", line 1459, in execute_manager
    execute_from_command_line(action_mapping, argv)
  File "/home/mir/lib/python/django/core/management.py", line 1382, in execute_from_command_line
    action_mapping[action](args[1:], int(options.verbosity))
  File "/home/mir/lib/python/django/core/management.py", line 1234, in test
    app_list = [get_app(app_label) for app_label in app_labels]
  File "/home/mir/lib/python/django/db/models/loading.py", line 46, in get_app
    raise ImproperlyConfigured, "App with label %s could not be found" % app_label
django.core.exceptions.ImproperlyConfigured: App with label testapp could not be found

Changed 8 years ago by medhat

comment:2 Changed 8 years ago by medhat

  • Has patch set
  • Needs tests set

I created a patch for this, but I did not create tests... (I was not really sure how to creat tests for it :-))
If someone is interested in using this and add the tests instead of starting from scratch, that would be great.

Changed 8 years ago by medhat

this should replace the previous patch

comment:3 Changed 8 years ago by njharman <njharman@…>

This problem has an easy workaround 'touch models.py' in relevant apps.

It can still is a bit of a gotcha though(some of my unittests weren't running for couple months and still wouldn't be if I hadn't added one and noticed the test count not increment). So, I'm working on a minimal patch to resolve this issue.

comment:4 Changed 8 years ago by akaihola

  • Cc akaihol+django@… added

There's an overlapping patch for the problem of testing models in separate files in #5751. It would make sense to merge these patches.

comment:5 Changed 6 years ago by russellm

  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #7198. Even though this is the earlier ticket, I'm closing this one because #7198 describes a more general problem.

Note: See TracTickets for help on using tickets.
Back to Top