【发布时间】:2016-07-09 16:28:18
【问题描述】:
如何将字符串包装在输入流中,以便可以测试下面的函数?
(defn parse-body [body]
(cheshire/parse-stream (clojure.java.io/reader body) true))
(deftest test-parse-body
(testing "read body"
(let [body "{\"age\": 28}"] ;; must wrap string
(is (= (parse-body body) {:age 28}))
)))
【问题讨论】:
-
接受的答案很好并回答了您的标题问题,但要知道
clojure.java.io/reader接受任何(基于字符的)java.io.Reader,所以绕道(基于字节的)java.io.InputStream和字符编码是不必要的。相反,只需将字符串包装在java.io.StringReader:(java.io.StringReader. body)。
标签: clojure