sea*_*cal 18 rspec ruby-on-rails rspec-rails ruby-on-rails-4 rspec3
params在测试Rails辅助方法时设置哈希值?我想设置params[:search] = 'my keyword search'在我的帮助方法中使用,然后从it示例块中调用它.
require 'rails_helper'
describe BooksHelper do
describe "#page_title_helper" do
let(:params) { {search: 'my keyword search'} }
it "should read the params hash" do
expect(helper.params[:search]).to eq "my keyword search"
end
end
end
Run Code Online (Sandbox Code Playgroud)
BooksHelper
def title_helper
if params[:search]
"Books related to #{params[:search]}"
else
"All Books"
end
end
end
Run Code Online (Sandbox Code Playgroud)
Dav*_*uth 17
在RSpec 3中,params哈希在控制器对象上可用,它在辅助规范中可用.所以,举个例子来说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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5788 次 |
| 最近记录: |