私のPhoenixアプリケーションでは、DBからデータを取り出してAgent
にキャッシュする機能があります。 DBが実際に照会されることを初めて値が要求されるときだけ保証するためにテストを書く方法はありますか?DBが照会されなかったことをテストする方法
0
A
答えて
1
私はこれをテストする最も簡単な方法はにある言う:
- コールエージェントと値
- を保存し、再びデータベース
- コールエージェントに値を変更して、最初の値を期待します
:ok = DB.insert("old_value")
assert {:ok, "old_value"} = YourCache.get_value()
:ok = DB.insert("new_value")
assert {:ok, "old_value"} = YourCache.get_value()
1
これを行うための適切な方法は、例えばでDBインスタンスを模擬することですMox
を使用して、DBクエリにexplicit contactを使用します。
Ecto
を使用している場合は、それ自体が動作します。 config/test.exs
ファイルを調べて、テストでEcto.Adapters.SQL.Sandbox
を使用していることを確認します。 sandbox.ex
ファイル全体をテストスイートにコピーし、コンソールなどにIO.puts
のようなものを実行するようにConnection.handle_execute/4
を変更します。このプールを使用するようにtest.exs
設定を変更します。次に、最初に印刷されたことを確認し、もう一度印刷されていないことを確認します。ここではやり過ぎのように見えるかもしれませんが、長い目で見れば、このアプローチは(私はすぐにではなく、後から言うと思います。)バック支払うことになる
関連する問題
- 1. dynamo DBのネストされたプロパティを照会する方法
- 2. 入れ子になったforeignKeyで照会する方法
- 3. HSQL DBでDB間照会を開始する方法は?
- 4. このデータを照会する方法がわからない
- 5. 照会されたエンティティリレーションが擬似Dbコンテキストでヌルです
- 6. SQLオブジェクトからアイテムを照会する方法(CRATE DB)
- 7. DBを照会するカスタムライター/リーダを作成する方法は?
- 8. インテントがブロードキャストされたことをテストする方法
- 9. リモートサーバーのレジストリを照会する方法が改善されましたか?
- 10. BigQueryネストされたフィールドを照会する方法
- 11. mongo - ネストされたjsonを照会する方法
- 12. リンクされたメモを照会する方法は?
- 13. XQueryでeXist-dbに格納されたファイルを照会
- 14. スリムフレームワーク - 通常の機能でdbを照会する方法
- 15. 別のDBから照会することができません
- 16. 私のdbを照会するとエラーメッセージは表示されず、実際にデータが入力されない
- 17. botoを使ってAmazonのシンプルなDBを照会
- 18. 新しいオブジェクトが作成されたことをテストするエレガントな方法
- 19. ElasticSearch:正確なネストされた配列を照会する方法
- 20. シリアライズされたオブジェクトファイルを照会する
- 21. mssql db関数を照会することは可能ですか?
- 22. データベース照会でオブジェクトを統合テストする方法
- 23. 最大値と返された日付を照会する方法
- 24. jquery - イベントと一緒に渡されたオプションを照会する方法
- 25. AngularJSの$ resourceを使って何かを照会する方法
- 26. ネストされたリストのアイテムを照会する方法はありますか?
- 27. MVC URLパラメータが渡されなかったことを検出する方法
- 28. 照会された別のオブジェクトを別の照会オブジェクトで照会
- 29. DB内の遠隔表現を照会する方法はありますか?
- 30. Javaで入れ子になったマップを照会する
優秀な読書のもの! – mhutter