Я пытаюсь определить поведение для аргументов командной строки, которые получает мой script, чтобы гарантировать, что все проверки пройдут. Некоторые из аргументов командной строки приведут к вызову abort
или exit
, поскольку предоставленные параметры отсутствуют или неверны.
Я пытаюсь сделать что-то вроде этого, которое не работает:
# 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" ).
Я также попытался mock(Kernel)
, но это тоже не работает, как мне хотелось бы (я не вижу различимых различий, но это возможно потому, что я не уверен, как точно издеваться над Kernel и убедиться, что издеваемое Ядро используется в классе Something
).