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 (関数内の syncdb & flush 部分create_test_db
  2. のほぼすべて_create_test_db。(ほとんどすべて == 私たちが排除しようとしている望ましくないことを行うコード部分)
  3. のほぼすべて_destroy_test_db
  4. のほぼすべてdestroy_test_db

それが役立つことを願っています!

于 2013-07-19T00:12:52.407 に答える