Rspec 如何使用Grape实体进行请求测试?

Rspec 如何使用Grape实体进行请求测试?,rspec,grape-api,grape-entity,Rspec,Grape Api,Grape Entity,响应主体返回“带Grape实体的格式化json”,但首选的第一个是返回完整的对象(json格式) 如何转换first\u preferred对象以使用grape实体获取公开字段 特征HomekeeperResponseEntity: module API::V1::Entities class FeaturedHomekeeperResponseEntity < Grape::Entity expose :id, documentation: { type: 'integer'

响应主体返回“带Grape实体的格式化json”,但首选的第一个是返回完整的对象(json格式)

如何转换
first\u preferred
对象以使用grape实体获取公开字段

特征HomekeeperResponseEntity:

module API::V1::Entities
  class FeaturedHomekeeperResponseEntity < Grape::Entity
    expose :id, documentation: { type: 'integer', desc: 'ID' }
    expose :featured_type, documentation: { type: 'string', desc: 'Featured Type' }
  end
end

Grape::Entity类有一个表示方法。所以

API::V1::Entities::FeaturedHomekeeperResponseEntity.represent first_prefered
将返回演示者对象

 API::V1::Entities::FeaturedHomekeeperResponseEntity.represent(first_prefered).to_json()

应该返回所需的json。

Grape::Entity类有一个表示方法。所以

API::V1::Entities::FeaturedHomekeeperResponseEntity.represent first_prefered
将返回演示者对象

 API::V1::Entities::FeaturedHomekeeperResponseEntity.represent(first_prefered).to_json()

应该返回所需的json。

我认为不应该在测试场景中使用Grape::Entity格式化数据。因为这是一个验收/集成测试,应该从用户的角度编写。它应该包含尽可能少的与代码相关的内容。我认为您应该手动从JSON中选择键/值。

我认为您不应该使用Grape::Entity来格式化测试场景中的数据。因为这是一个验收/集成测试,应该从用户的角度编写。它应该包含尽可能少的与代码相关的内容。我认为您应该手动从JSON中选择键/值。

我同意这一点。我认为你应该更清楚地说明你想主张什么令人惊叹的!我在想这个。但是我没有看到任何关于这个的文章。谢谢,我同意你的看法。我认为你应该更清楚地说明你想主张什么令人惊叹的!我在想这个。但是我没有看到任何关于这个的文章。谢谢。谢谢你的回答。谢谢你的回答。