With the current stable django_nose (0.1.3) the models aren't even properly found and loaded, I get the following exception when running the tests:
django.db.utils.DatabaseError: (1146, "Table 'test_appdatabase.django_site' doesn't exist")
using the git version of django_nose I managed to get my models to be created into the test database properly, however they are all empty, with Django's testrunner I get some basic data loaded into the tables, such as the django_site and auth_permission tables:
django_site
id domain name
1 example.com example.com
When I run the test suite with django_nose installed and setup, I get the following exception:
DoesNotExist: Site matching query does not exist.
Any Ideas?
Update: running with -v 2, it seems it is running the post-sync handlers (syncdb) for the applications
Running post-sync handlers for application sites
Creating example.com Site object
Adding content type 'sites | site'
Adding permission 'sites | site | Can add site'
Adding permission 'sites | site | Can change site'
Adding permission 'sites | site | Can delete site'
So it seems to be adding them, yet somewhere they are being deleted.
Further Update:
Looking at the MySQL Query log, the sequence of events is
An example truncation from the query log:
TRUNCATE `django_site`
Why are the tables being truncated? Is it so that the tests don't pollute each other, is there a way to disable that?
I believe this to be the final update:
using the standard django runner, the same thing happens,
Except for the next step:
Data is inserted back in
INSERT INTO django_site
(domain
, name
) VALUES ('example.com', 'example.com')
Not sure why this is happening here but not with django_nose
The diff displayed in https://github.com/jbalogh/django-nose/issues/39 fixes this issue.