1
私はテスト用にレタスフレームワークを使用していますが、いくつかのテストフィクスチャがロードされた状態で新しいデータベースでテストを実行したいと思います。ユニットテストと同様に、テストフィクスチャが定義されている場合テストフィクスチャを他のフレームワークと単体テストで使用する方法
は可能ですか?
私はテスト用にレタスフレームワークを使用していますが、いくつかのテストフィクスチャがロードされた状態で新しいデータベースでテストを実行したいと思います。ユニットテストと同様に、テストフィクスチャが定義されている場合テストフィクスチャを他のフレームワークと単体テストで使用する方法
は可能ですか?
ここでは、Djangoのテストケースから主に取得されるフィクスチャを読み込むコードスニペットを示します。 "db"が正しいdb(テストDB)を指していることを確認するだけです。私はカスタム設定ファイルを渡すだけでこれを行います。 "db"は実際の接続ではなくエイリアスを指します。データベースを1つだけ使用している場合(テストDBを数えない場合)、これを「デフォルト」に設定するだけです。したがって、テストでクラス属性が 'fixtures'の場合は、loaddata
管理コマンドと同じルールでフィクスチャをロードします。
if getattr(self, 'multi_db', False):
databases = connections
else:
databases = [DEFAULT_DB_ALIAS]
for db in databases:
if hasattr(self, 'fixtures'):
# We have to use this slightly awkward syntax due to the fact
# that we're using *args and **kwargs together.
call_command('loaddata', *self.fixtures,
**{'verbosity': 0, 'database': db})
あなたはこの仕事をするために
import from django.core.management import call_command
にする必要があります。