集成测试的作用是打开一个节目购买页面并单击购买页面上的Approve
。这是rspec案例:
it "should display the approve page" do
proj = FactoryGirl.create(:project)
pur = FactoryGirl.create(:purchasing, :project_id => proj.id)
visit project_purchasing_path(proj, pur)
response.should have_selector("a", :href => approve_project_purchasing_path(proj, pur), :content => "Approve")
click_link 'Approve'
end
最后一行click_link 'Approve'
会导致以下错误,即使response
只是验证页面上有'Approve'
个链接:
ActionController::RoutingError:←[0m
←[31mNo route matches [GET] "/projects/1/purchasings/1/approve"
在rake routes
的输出中有一条路径approve_project_purchasing_path:
approve_project_purchasing PUT /projects/:project_id/purchasings/:id/approve(.:format)
单击'Approve'
时,代码执行完全没有错误。
我们的rspec代码有什么问题?谢谢你的帮助。
更新:
这是link_to
的{{1}}:
Approve