ruby-on-rails - 如何从 Controller stub 参数?

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

对于我的测试,我需要一个 Controller ,我可以在其中设置自己的参数。参数是指调用 controller.params 时得到的参数。

{"action"=>"show",
 "controller"=>"merchants",
 "wine_id"=>"1",
 "id"=>"346343"}

问题是,我不知道 stub 的正确方法是什么。出现三种情况:
  • controller.request.env['action_dispatch.request.path_parameters']
  • controller.params
  • controller.url_options[:_recall]

  • 在所有三个中都存储了相同的信息,但是设置这些值的接口(interface)方式是什么?

    最佳答案

    访问参数的常用方法是 controller.params .所以我建议你 stub 参数

    controller.stub(:params).and_return({:param1 => "value", :param2 => "value"})
    

    关于ruby-on-rails - 如何从 Controller stub 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20555298/

    相关文章:

    ruby-on-rails - 我如何列出 options_for_select 的 rails 项目?

    ruby-on-rails - Rails 有很多关联

    ruby-on-rails - Rspec Controller 在 Rails 中测试继承自 AbstractController::Base 的 Controller

    ruby - 设计重置密码 token 无效

    ruby-on-rails - Ruby On Rails,Redis::CommandError: 'set' 命令的 ERR 参数数量错误

    ruby-on-rails - Ruby 中的 "for x in y"有什么意义?

    java - Cucumber 和/或 RSpec 与使用 JRuby 的纯 Java 应用程序

    ruby-on-rails - 在 RoR 应用程序中使用 RSpec 进行测试 - 未初始化的常量

    ruby-on-rails - RSpec Controller 规范在更新时失败,参数无效

    javascript - 使用带有动态生成的输入的 form_tag 提交数组