【发布时间】:2012-09-24 22:33:39
【问题描述】:
我对基于 Sinatra 的 API 进行了一系列 RSpec 测试,并希望重构它们以使其更简单并减少重复。
这是一个路由测试示例:
describe 'post /sections with empty data' do
before do
params = {
:site_id => site.id,
:page_id => page.id,
}
post '/sections', params, @session
end
specify { last_response.status.should == 200 }
specify { json_response['id'].should_not be_nil }
specify { json_response['type'].should == default_section_type }
end
每个测试都将使用相同的基本 URL,具有相同的会话数据,唯一的区别是参数以及响应应该是什么。每个路由至少有 4 个测试(GET、POST、PUT、DELETE),通常更多。
有没有办法让这些测试更易于管理?
【问题讨论】:
标签: ruby rspec sinatra rack-test