Ruby on rails 在使用RSpec测试Rails助手方法时,如何在params散列中设置值? 在RubyonRails4中,使用RSpec3.1,在测试Rails助手方法时,如何设置paramshash的值?
我想设置Ruby on rails 在使用RSpec测试Rails助手方法时,如何在params散列中设置值? 在RubyonRails4中,使用RSpec3.1,在测试Rails助手方法时,如何设置paramshash的值?,ruby-on-rails,ruby-on-rails-4,rspec,rspec-rails,rspec3,Ruby On Rails,Ruby On Rails 4,Rspec,Rspec Rails,Rspec3,我想设置params[:search]=“my keyword search”以在我的助手方法中使用,然后从it示例块中调用它 spec/helpers/book\u helper\u spec.rb: app/helpers/books\u helper.rb: 在RSpec 3中,参数散列可在控制器对象上使用,该对象在助手规范中可用。例如,要获取params[:search],可以说 controller.params[:search] 这是一个扩展的例子,从问题扩展而来 context "
params[:search]=“my keyword search”
以在我的助手方法中使用,然后从it
示例块中调用它
spec/helpers/book\u helper\u spec.rb:
app/helpers/books\u helper.rb:
在RSpec 3中,参数散列可在控制器对象上使用,该对象在助手规范中可用。例如,要获取
params[:search]
,可以说
controller.params[:search]
这是一个扩展的例子,从问题扩展而来
context "with a params[:search]" do
it "returns the search term" do
controller.params[:search] = 'Test Search'
expect(helper.title_helper).to eq("Books related to #{params[:search]}".html_safe)
expect(helper.title_helper).to eq("Books related to Test Search".html_safe)
expect(helper.title_helper).not_to eq("Books related to Bad Value".html_safe)
end
end
BooksHelper
def title_helper
if params[:search]
"Books related to #{params[:search]}"
else
"All Books"
end
end
end
context "with a params[:search]" do
it "returns the search term" do
controller.params[:search] = 'Test Search'
expect(helper.title_helper).to eq("Books related to #{params[:search]}".html_safe)
expect(helper.title_helper).to eq("Books related to Test Search".html_safe)
expect(helper.title_helper).not_to eq("Books related to Bad Value".html_safe)
end
end