我正在尝试测试我的application_helper的yield_for
方法,但我不知道最好的方法。我尝试了下面的代码但得到以下错误:
Failure/Error: self.stub(:content_for).with(:foo).and_return('bar')
Stub :content_for received unexpected message :with with (:foo)
application_helper.rb
def yield_for(content_sym, default = '')
content_for?(:content_sym) ? content_for(content_sym) : default
end
application_helper_spec.rb
describe '#yield_for' do
it 'should fetch the yield' do
self.stub(:content_for).with(:foo).and_return('bar')
helper.yield_for(:foo).should == 'bar'
end
end
答案 0 :(得分:1)
尝试在帮助程序上创建存根
it 'should fetch the yield' do
helper.stub(:content_for).with(:foo).and_return('bar')
helper.yield_for(:foo).should == 'bar'
end
让你的测试通过这个
def yield_for(content_sym, default = '')
content_for(content_sym) ? content_for(content_sym) : default
end
答案 1 :(得分:0)
我正在使用rspec(3.1.0),它应该与:
一起使用describe '#yield_for' do
it 'should fetch the yield' do
helper.content_for(:foo, 'bar')
expect(helper.yield_for(:foo)).to eq('bar')
end
end