edt*_*hix 5 ruby bdd rspec ruby-on-rails
假设我在application_helper.rb中有以下代码:
def do_something
if action_name == 'index'
'do'
else
'dont'
end
end
Run Code Online (Sandbox Code Playgroud)
如果在索引操作中调用,它将执行某些操作.
问:如何在application_helper_spec.rb中重写辅助规范以模拟来自'index'动作的调用?
describe 'when called from "index" action' do
it 'should do' do
helper.do_something.should == 'do' # will always return 'dont'
end
end
describe 'when called from "other" action' do
it 'should do' do
helper.do_something.should == 'dont'
end
end
Run Code Online (Sandbox Code Playgroud)
您可以将action_name方法存根到您想要的任何值:
describe 'when called from "index" action' do
before
helper.stub!(:action_name).and_return('index')
end
it 'should do' do
helper.do_something.should == 'do'
end
end
describe 'when called from "other" action' do
before
helper.stub!(:action_name).and_return('other')
end
it 'should do' do
helper.do_something.should == 'dont'
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2534 次 |
| 最近记录: |