Rspec请求Active Model Serializer响应不包含根密钥

时间:2016-07-06 15:59:54

标签: rspec rspec-rails active-model-serializers ruby-on-rails-5

我尝试使用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的问题还是我的设置问题,我不太了解。

1 个答案:

答案 0 :(得分:0)

听起来你可能已经为开发环境启用了include_root_in_json而不是测试环境?

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