私は django 単体テストが好きです。実行時にテスト データベースを作成および削除するからです。
竜巻のテストデータベースを作成する方法は何ですか?
UPD:テスト実行時の postgresql テスト データベースの作成に興味があります。
私は django 単体テストが好きです。実行時にテスト データベースを作成および削除するからです。
竜巻のテストデータベースを作成する方法は何ですか?
UPD:テスト実行時の postgresql テスト データベースの作成に興味があります。
最も簡単な方法は、テスト データベースに SQL ダンプを使用することです。データベースを作成し、それにフィクスチャを入力して、ファイルに書き出します。load_fixtures
テストを実行する前 (または DB をリセットするときはいつでも) を呼び出すだけです。この方法は確かに改善される可能性がありますが、私のニーズには十分です。
import os
import unittest2
import tornado.database
settings = dict(
db_host="127.0.0.1:3306",
db_name="testdb",
db_user="testdb",
db_password="secret",
db_fixtures_file=os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures.sql'),
)
def load_fixtures():
"""Fixtures are stored in an SQL dump.
"""
os.system("psql %s --user=%s --password=%s < %s" % (settings['db_name'],
settings['db_user'], settings['db_password'], settings['db_fixtures_file']))
return tornado.database.Connection(
host=settings['db_host'], database=settings['db_name'],
user=settings['db_user'], password=settings['db_password'])