我试图为脚本接收的命令行参数指定行为,以确保所有验证都通过.我的一些命令行参数将导致调用abort
或exit
,因为提供的参数缺失或不正确.
我正在try 这样的东西,但不起作用:
# something_spec.rb
require 'something'
describe Something do
before do
Kernel.stub!(:exit)
end
it "should exit cleanly when -h is used" do
s = Something.new
Kernel.should_receive(:exit)
s.process_arguments(["-h"])
end
end
exit
方法正在干净地启动,防止RSpec验证测试(我得到"SystemExit:exit").
我也try 过mock(Kernel)
,但这也不是我想要的(我看不到任何明显的区别,但这可能是因为我不确定如何精确地模拟内核,并确保在我的Something
类中使用模拟内核).