【发布时间】:2019-08-06 16:56:42
【问题描述】:
我有以下代码从我的资源文件夹中加载 edn 数据:
(defn load-data
[]
(->> (io/resource "news.edn")
slurp
edn/read-string))
我想通过模拟文件读取部分来测试这个,到目前为止我有这个:
(deftest loading-data
(is (= (edn/read-string (prn-str {:articles [{:title "ASAP Rocky released" :url "http://foo.com"}]})) (load-data))))
但我知道这个非常不稳定的测试,因为如果 edn 文件名发生更改、内容或更新,测试将失败。有什么想法吗?
【问题讨论】:
-
所有答案都很好,不知道该接受哪一个:-(
-
您最初的问题是如何模拟文件读取,恕我直言,您应该接受一个说明如何进行一般模拟以及如何在您的情况下进行模拟的问题。但真正的答案是,你根本不应该这样做。
标签: clojure