Clojure統合テストでは、アウトバウンドHTTPリクエストをサードパーティにスタブするために広く使われているパターンやソリューションがあるのだろうか(Rubyのwebmock)。私は(with-fake-http [] ...)
のようなもので自分のテストをラップすることなく、あるいは依存性注入に頼らなくても、高レベル(例えば、セットアップ機能)でリクエストをスタブすることができます。ClojureテストでHTTP要求をスタブするための戦略
これは動的なvarの良いユースケースですか?セットアップのステップで問題の名前空間に到達し、副作用関数を無害な無名関数に設定することができます。しかし、これは大変だと感じています。私はテストに対応するためにアプリケーションコードを変更する考えが嫌いです。 (それはまた、上記の解決策よりはるかに優れていません)
偽の関数を含むテスト固有のnsを入れ替えるのは意味がありますか?私のテストでこれを行うためのきれいな方法がありますか?あなたがリング/ compojureフレームワークを使用して良い例を見ることができます
ほとんどの(すべて?)clojure httpライブラリはリクエストと応答をマップとして表していますので、テストでこれらを直接模擬しなくても構いません。 – Lee
依存性注入の問題点は何ですか?あなたの関数で*ハードコーディングURL *ですか?あなたはそれをしてはならないので、それは悪いです。 –