“轨道3.2.12的rspec集成测试中没有路由匹配[GET]”错误

时间:2013-03-01 21:22:22

标签: ruby-on-rails ruby-on-rails-3 rspec

集成测试的作用是打开一个节目购买页面并单击购买页面上的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

0 个答案:

没有答案