On 9/4/06, Ned Batchelder <[EMAIL PROTECTED]> wrote:
Partly on this topic: I would very much like to use sqlite in-memory databases for testing, even though I use MySQL for deployment. The speed difference is 10x. One way to do this is to have a TEST_DATABASE_ENGINE setting, and add logic to create_test_db().
Thoughts?
If there were a TEST_DATABASE_ENGINE setting, it would imply that there were analogs of all the other DATABASE_ settings, too. I can't say I'm crazy about this idea. 'Deploy under MySQL, but test under PostgreSQL' isn't a particularly compelling use case for me. IMHO, testing for one database but deploying onto another sort of defeats the purpose of testing.
However, when you are developing unit tests, having a fast turnaround on test execution is certainly desirable; using SQLite in-memory is certainly one way to get this fast turnaround.
Rather than having TEST_DATABASE_ENGINE (which implies that ANY database engine could be used), I would be inclined to have a TEST_IN_MEMORY setting, which forces all tests to be run in SQLite, using an in memory database.
Furthermore, I would be inclined to make this a command line option, rather than a permanent setting. IMHO, tests should always be executed against the _actual_ database that will be used during deployment. Although there _shouldn't_ be any differences between databases, there occasionally will be - either due to kinks in Django, or because you are deploying custom SQL. Providing a command line option would provide a workaround to get fast development turnarounds without compromising the default (read - preferable) testing conditions.
Opinions?
Yours,
Russ Magee %-)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/django-developers
-~----------~----~----~----~------~----~------~--~---