首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译-api不尊重ring.mock.requests中的主体

编译-api不尊重ring.mock.requests中的主体
EN

Stack Overflow用户
提问于 2016-05-26 02:02:39
回答 1查看 287关注 0票数 2

我正在尝试使用ring.mock.requests库来测试http服务。我有一段代码

代码语言:javascript
复制
   (auth-routes    
     (->
       (mock/request :post "/auth/user")
       (mock/body {:username "user" :password "pass"})
       (mock/content-type "application/json")))

线程第一宏的内部部分似乎工作正常,但当我尝试向auth路由发出模拟请求时,它失败了。

这是我的路线:

代码语言:javascript
复制
(def auth-routes
  (context "/auth" []
  :tags ["Authentication"]
    (POST "/user" []
      :return s/Uuid
      :body [request m/User]
      :summary "Create new user"
      (ok (auth/create-user request)))) ...)

这是我的模式:

代码语言:javascript
复制
(def User {:username s/Str
           :password s/Str})

我看到的例外是

代码语言:javascript
复制
clojure.lang.ExceptionInfo
   Request validation failed
   {:error (not (map? nil)), :type :compojure.api.exception/request-validation}

看起来我的路线是把nil作为身体,我希望{:username "user" :password "pass"}在那里。

我做错了什么,怎么把身体送到这条路上?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-26 09:27:20

我认为您应该在测试中将数据序列化为json字符串。使用柴郡

代码语言:javascript
复制
(cheshire.core/generate-string {:username "user" :password "pass"})

看看这里这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37450374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档