2

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

我偶然发现了这个SO 线程,它提供了一种在不创建数据库的情况下进行测试的好方法,但它仍然会刷新数据库装置并每次都重新加载它们。我什至不希望发生这种情况。我只想让测试读取/写入我设置过的数据库。我不希望它在每次运行任何测试时都创建数据库/加载装置。

如果需要解决这个问题,我很乐意提供任何进一步的信息。

提前致谢!:)

4

1 回答 1

1

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

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

更改代码如下:

  1. confirm = 'yes'在第 55 行设置
  2. 注释掉所有出现的os.remove(test_database_name)

文件django/db/backends/creation.py

更改代码如下

  1. 注释 359 到 376(create_test_db函数中的同步数据库和刷新部分。
  2. 中的几乎所有东西_create_test_db。(几乎所有内容 == 代码部分,它执行我们试图消除的不受欢迎的东西)
  3. 中的几乎所有东西_destroy_test_db
  4. 中的几乎所有东西destroy_test_db

希望有帮助!

于 2013-07-19T00:12:52.407 回答