Organizing Django unit tests

From version 1.6 of Django, the test discovery mechanism changed. You no longer need to import everything from tests/__init__.py, but now you have to make sure that all your files containing tests match the pattern test*.py.

So, instead of having app/tests/models.py and app/tests/views.py, now you should have app/tests/test_models.py and app/tests/test_views.py.

You could also create a file named app/tests/test.py and include your other files from there. The thing is that the runner will look for files matching the pattern test*.py and execute them.

Leave a Comment