Django アプリケーションでいくつかのテストをセットアップしようとしています。アプリケーション全体で行われる一部の読み取りにデータベース ミラーを使用します。データベースにモック データを作成してから読み取ろうとすることで、これらの部分をテストしようとすると、TEST_MIRROR
.
テスト用のデータベース構成は次のようになります。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'maindb',
'HOST': 'localhost'
},
'mirror1': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'maindb',
'HOST': 'localhost',
'TEST_MIRROR': 'default'
}
}
そして、私のテストでは、次のようなことを行います(Fooはモデルです)
Foo.objects.create(name='bar')
self.assertTrue(Foo.objects.filter(name='bar').exists()) # passes
self.assertTrue(Foo.objects.using('mirror1').filter(name='bar').exists()) # fails
TEST_MIRROR
ミラーへの呼び出しをデフォルトに直接渡すことがポイントだと思っていたので、これは私を混乱させますか?