I have some code I run my tests by the doing the following:
1. dump schema + some data from production
2. create test database by loading the dump.
3. Apply any migrations I have (these are plain SQL scripts, no
South involved here)
4. run tests using SimpleTestCase or plain unittest TestCases.
So, I am not using Django's testing framework at all. There are two
reasons: 1. I haven't found a nice way to create the database with
custom scripts etc. loaded. 2. Django's test framework likes to flush
all data from the database. This doesn't fit my needs.
So, I suggest that you either hack a custom test runner for Django, or
just run tests without Django's testing framework. There might exists
something reusable in the ecosystem for this use case.
It would be nice to have something that allows easy testing this way
in Django. The problem is that once you enter complex database setups
domain it is hard to find a minimal useful feature set.
Unfortunately I don't have anything reusable for running tests this
way, my scripts for managing the above steps are too hacky to reuse.
- Anssi