How can I specify a database for Django Tests to use instead of having it build it every time?

It’s possible, here is a way :

1) Define your own test runner look here to see how.

2) For your custom test runner look in the default test runner, you can just copy and past the code and just comment this line : connection.creation.destroy_test_db(old_name, verbosity) which is responsible for destroying the test database, and i think you should put the connection.creation.create_test_db(..) line in a try except something like this maybe:

try:
    # Create the database the first time.
    connection.creation.create_test_db(verbosity, autoclobber=not interactive) 
except ..: # Look at the error that this will raise when create a database that already exist
    # Test database already created.
    pass 

3) Bound TEST_RUNNER in setting.py to your test runner.

4) Now run your test like this: ./manage.py test

Leave a Comment