2009-07-01 6 views
0

タイトルには、./manage.py testでテストを実行するときにDATABASE_OPTIONS設定を適用したいとします。 では、create_test_db()_create_test_db()の両方でこのオプションはまったく考慮されていません。DjangoプロジェクトをテストするときにDATABASE_OPTIONSを適用する(またはMySQL用InnoDBを使用する)

これは、InnoDBでtransaction.rollbackの機能を使用するビューでテストを中断させます。テストデータベースはInnoDBストレージエンジンで作成されていないようです。

この問題の回避策はありますか?

答えて

0

私は自分で理由を見つけました。通常のTestCaseベースクラスの代わりにTransactionTestCaseを使用する必要があります。 See the documentation.

0

サーバ上のデフォルトのストレージエンジンをInnoDBに設定することがあります。 my.cnfの中

:Djangoは明示的にMyISAMテーブルを選んされていない限り、動作するはず

set default_storage_engine=InnoDB 

+0

はい、私はすでにこれを適用しましたが、テストケースでは役に立たなかったです。下の私の自己答えを見てください。 :) – Achimnol

関連する問題