如何使用rspec测试不同的路由,但是使用相同的控制器方法?

时间:2014-03-27 14:23:20

标签: ruby-on-rails ruby rspec

我可以解释一下。

在我的路线上,我有这个:

resources :questions, :path => 'pq', only: [:index, :show, :create] do
  #many other routes...
  member do
    post :up_vote, action: :vote, vote: 1
    post :down_vote, action: :vote, vote: -1
  end
end

你可以观察到,它有两条相同动作的路线,但发送一个参数'投票'对于两者。

我尝试使用rspec进行测试:

before{ post :up_vote, id: 1 }

或者

before{ post :vote, id: 1, vote: 1 }

但我没有成功,总是返回No routes matches

任何人都知道如何用rspec进行测试呢?

1 个答案:

答案 0 :(得分:1)

删除only行上的resources条款并重新测试。