我正在为JSON API编写一些测试。使用带有render_views的控制器规范是否可以接受这种方式?例如,像:
describe 'task028: Adding an Item via MenuHeader', task028: true do
it 'should create a new menu item' do
m=FactoryGirl.create(:menu)
mh=FactoryGirl.create(:header, parent: nil, menu_id: m.id)
Item.count.should eq(0)
post :create, {item: { header: "my menu item header", detail: "my menu item detail", menu_header_id: mh.id, position: 1, is_enabled: true }}
MenuItem.count.should eq(1)
JSON.parse(response.body)['status'].should eq('success')
JSON.parse(response.body)['preceding_item_id'].should eq(nil)
response.code.should eq('200')
end
这种风格好吗?还是有其他/更好的方法来测试JSON API?这些应该是功能规格吗?
答案 0 :(得分:1)
请考虑使用请求规范。它们将允许您运行完整的堆栈测试,包括控制器和视图层,而不使用控制器规范中的render_views
。
Here is a good article介绍了一些细节。