如何测试控制器私有方法

时间:2014-03-24 13:52:51

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

这是我的私人控制器方法

 def query_url(query)
   client_queries_path(@client, query)
 end

这是我使用该方法的 index.json.jbuilder 文件

json.array!(@queries) do |query|
  json.extract! query, :id, :url, :keywords, :exclusions
  json.url query_url(query, format: :json)
end

我想为此编写测试用例 - 所以我怎么写?

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您使用类似rspec的内容,则可以使用controller.send调用私有方法。所以在你的情况下:

controller.send(:query_url, "whatever query you want to test")