29
votes

I'm trying to create some Functional tests for a Django app that uses South migrations.
Eventually, I will also be creating Twill tests.

When I try to run the existing tests, the test database is not created successfully because of a problem with the South migrations. ( Fails @ 7th of 58 migrations )

It would seem that for the purpose of testing, it's better to build the test database from the Django models, like a syncdb would, than from South.

How do I set up the Django test suite to build the test database from the current model vs. trying to use South?

1
But... but your test is failing? What if someone needs to upgrade from your migrations? They can't. Can't you fix the migrations?user764357

1 Answers

64
votes

The South setting SOUTH_TESTS_MIGRATE controls this behaviour.

Add this line to your settings.py file:

SOUTH_TESTS_MIGRATE = False