如何访问辅助规范中的params变量

Kos*_*tas 2 rspec2 ruby-on-rails-3

我正在编写一些帮助程序的规范来检查params变量中的值.到现在为止我一直在做:

helper.stub!(:params).and_return(:user => {:username => "jack"})
Run Code Online (Sandbox Code Playgroud)

问题是,虽然实际的参数Hash具有字符串/符号不可知密钥params[:user] == params["user"],但我的实现不会产生各种故障而不应该这样做.

有没有办法在辅助规范中设置正确的(键类型不可知)params变量?

nat*_*vda 5

最简单的方法是使用with_indifferent_access.

在你的情况下:

helper.stub!(:params).and_return({:user => {:username => "jack"}}.with_indifferent_access)
Run Code Online (Sandbox Code Playgroud)