用params为控制器编写rspec?

时间:2015-04-22 09:36:09

标签: ruby rspec params controllers

我有一个控制器,它有以下方法

class <controllername> < ApplicationController
 def method
  if params["c"]
   .....
  elsif params["e"]
   .....
  else
   .....
  end

 end

end

现在,我想为上面的代码编写rspec。

如何为这两个参数编写单独的上下文,以及如何将它们作为get方法提及。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你可以尝试这样做:

RSpec.describe <controllername>, :type => :controller do
  describe "GET my_method" do
    context "param 'c' is provided"
      get :my_method, { "c" => "sample value" }
      expect(response).to have_http_status(:success)
    end

    context "param 'e' is provided"
      get :my_method, { "e" => "sample value" }
      expect(response).to have_http_status(:success)
    end
  end
end

希望它能让你朝着正确的方向前进。

祝你好运!