[英]Rspec rails api controller index test
我正在尝试使用rspec测试api控制器动作,但是由于我对rspec相当陌生,因此无法使其正常工作。 我有以下索引操作:渲染json:@ website.jobs
我必须按名称查找与网站相关的所有工作。 这是我的规格:
let(:endpoint) { FactoryGirl.create(:website) }
let(:job) { FactoryGirl.create(:job) }
subject do
get :index, params: { format: :json,
name: endpoint.name }
end
expect(subject.body).to include(:job)
我是在做错什么,还是想念什么?
您不能直接使用JSON
响应检查对象。 您可以执行以下操作:
it "response with JSON body containing expected jobs" do
hash_body = JSON.parse(response.body)
expect(hash_body).first.to match({
id: job.id,
title: job.title
})
end
您需要根据Job
模型更改属性。
一个使用Rspec测试JSON的好教程: Pure RSpec JSON API测试
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.