クラスがオープンであるため、Ruby は DI や DI フレームワークを実際には必要としないという記事を読んだことを覚えています。その結果、依存関係のコンストラクターを簡単に書き直して、偽のオブジェクトを返すことができます。
私はClojureと関数型プログラミングに非常に慣れていません。Clojure に依存性注入が必要なのか、それとも同様の理由またはその他の理由でそれを差し控えることができるのか疑問に思っています。以下は具体的な作業例です (私の設計が Clojure の慣用句ではないことを指摘してください):
Web クローラー/スパイダーを開発していると想像してください。ダウンロードした Web ページをトラバースする必要があります。これは副作用のあるアクションです。クエリごとに Web ページが変更されたり、インターネット接続が切断されたりする可能性があります。Web ページ上のすべてのリンクを見つけて、それぞれにアクセスし、同じ方法でトラバースします。
ここで、代わりにハードコードされた文字列応答を返すように、http クライアントをモック アウトするテストを作成します。-main
テストでプログラムを呼び出して、実際のhttp クライアントを使用しないようにするにはどうすればよいですか?