Django でデータベースをセットアップしている場合、TestRunnersettings.py
に一時的なテスト データベースで実行する代わりに、( の DATABASE_* 設定に従って) 'ライブ' データベースを使用させるにはどうすればよいでしょうか。
live
たとえば、で指定されたデータベースで次のテストを実行したいと思いますsettings.py
。
import unittest
from example import models
class DBDriverTest(unittest.TestCase):
db testDriver(self):
"Connect to the live database and drop in sample value."
m = models.MyModel('hello')
m.save() # ... save to the live database from settings.py
現在、上記のコードは、構築されたテスト データベースにのみ保存されます。私のアプリケーションにはデータベース上で動作する複数の並列プロセスがあるため、これは非常に制限的です。また、「ライブ」データベースに物事を送り込み、短いスリープ後にそれらがどこにあるかを確認する機能がなければ、単体テストは不完全になります (そして一貫性がなくなります)。
私が考えることができる2つの潜在的なオプションは次のとおりです。
Django API をプラグインして、settings.py でデータベースに「手動で」接続する方法を見つけます。
「ライブ」データベースへの低レベル接続を作成し、手動で入力します
前者は、Django のパブリック API の下にあるものに依存するため、問題があります。後者は、データベースにとらわれない Django データベース API を放棄し、より手作業が必要になるため、問題があります。
あなたの考えと意見に感謝します。
ブライアン