【发布时间】:2016-02-18 09:49:28
【问题描述】:
我正在对我的 luminus 应用程序进行测试,我想测试我的后期功能,如下所示。但是,数据作为字节输入流发布在请求对象的主体上。如何使数据发布在请求对象的 params 键上?我从这个链接得到这个例子http://www.jarrodctaylor.com/posts/Compojure-Address-Book-Part-1/
(defn example-post [request]
(let [post-value (get-in request [:params :example-post])]
(str "You posted: " post-value)))
(fact "Test POST"
(let [response (app (mock/request :post "/post" {:example-post "Some data"}))]
(:status response) => 200
(:body response) => "You posted: Some data")))
【问题讨论】:
-
您的问题确实与Midje无关。如果
app中没有params中间件,:params将不会被填充。 -
当我执行我的正常请求时,数据存储在请求对象的 :params 键中,所以我只是使用 (-> req :params :data) 解析它,所以我不认为这可能成为问题。
-
你是对的@muhuk,非常感谢