Django 1.3测试无需为每次测试运行重新创建数据库/加载夹具

时间:2013-07-16 20:33:31

标签: django selenium selenium-webdriver django-testing django-1.3

我正在使用django 1.3并编写一些硒测试& django单元测试。我想知道是否可以在不创建数据库的情况下运行测试。每次加载装置?

我偶然发现了这个SO thread,它提供了一个很好的方法来测试而不创建数据库但仍然刷新数据库固定装置和放大器。每次重新加载它们。我甚至不希望这种情况发生。我只是想让测试读/写一次我设置的数据库。我不希望每次运行任何测试时都会创建数据库/加载夹具。

如果需要,我很乐意提供任何进一步的信息。

提前致谢! :)

1 个答案:

答案 0 :(得分:1)

我能够通过入侵一些django代码来做到这一点。需要编辑的部分是,

文件django/db/backends/sqlite3/creation.py

按如下方式更改代码:

  1. 在第55行设置confirm = 'yes'
  2. 评论所有os.remove(test_database_name)
  3. 文件django/db/backends/creation.py

    更改代码如下

    1. 评论359至376(create_test_db函数中的syncdb& flush部分。
    2. 几乎_create_test_db中的所有内容。 (几乎所有的东西==代码部分,它会处理我们试图消除的不需要的东西)
    3. _destroy_test_db中的几乎所有内容。
    4. destroy_test_db中的几乎所有内容。
    5. 希望有所帮助!