テストにはカスタムデータベースを使用する必要があります。テスト用のカスタム設定ファイルでこれを確認できます。
フィクスチャをこのテストデータベースにエクスポートするにはどうすればよいですか?(例:テストまたは他のテスト関連データベースエクスポートのスーパーユーザー)フィクスチャが2番目のカスタムデータベースに適用できない場合は、フィクスチャの代わりに他のソリューションを適用する準備ができています。
これがテスト用のカスタム設定ファイルです:(settings / test.py)
from defaults import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'my_test_db',
}
}
テストの実行方法は次のとおりです。
python manage.py test --settings=settings.test
テスト用のフィクスチャをロードするだけの場合は、個別のテストデータベースを指定する必要はありません。Djangoは、テスト用に別の空のテストデータベースを自動的に作成します。
開発データベースまたは本番データベースに基づいて一部のフィクスチャを再利用する場合は、データベースのダンプを試みることができます。これは、yaml形式でデータをダンプするためのコマンドの例です。JSON形式もサポートされています。
pip install pyyaml
python manage.py dumpdata --format=yaml > /foo_app/fixtures/dump_file.yaml
設定では、次のようなフィクスチャディレクトリのリストを追加できます。
FIXTURE_DIRS = ('/foo_app/fixtures/',)
テストスクリプトでは、次のように、TestCaseクラスに使用するフィクスチャファイルを指定できます。
class FooAppTest(TestCase):
"""
Test class for getting Foo
"""
fixtures = ['dump_file.yaml']
上記のように設定した後、そのクラスのテストはフィクスチャファイルをロードします(テスト用に入力されたユーザーまたは他のオブジェクトを含む)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加