Rspec 请求活动模型序列化程序响应不包含根键



我正在尝试测试使用带有 JSON 适配器的活动模型序列化程序 gem(版本 0.10.2)构建的 JSON 端点(Rails 5)。

当我从 http://localhost:3000/api/posts 发出请求时,我在响应中获取根节点,使其看起来像文档:

{
  "posts": [{
    "id": 1,
    "title": "Awesome Post Tile",
    "content": "Post content"
  }]
}

但是当我在 Rspec(3.5 版)中提出这样的请求时:

获取 '/

API/posts'

根节点未通过,因此响应正文如下所示:

[{
   "id": 1,
   "title": "Awesome Post Tile",
   "content": "Post content"
}]

我的适配器正在初始值设定项中设置:

ActiveModelSerializers.config.adapter = :json

我在这里做错了什么吗?我真的不知道这是 AMS 或 Rspec 的问题还是我的设置问题。

听起来您可能为开发环境启用了include_root_in_json,但没有为测试环境启用?

http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html

最新更新