Используйте should_receive
и should be_false
:
context "an exception is thrown" do
before do
ExternalService.stub(:call) { raise Exception }
end
it "should log the exception and return false" do
c = Capturer.new
Logger.should_receive(:log_exception)
c.capture.should be_false
end
end
Также обратите внимание, что вы должны не спасать от Exception
, но что-то более конкретное.Exception
охватывает все , что почти наверняка не то, что вы хотите.Самое большее, вы должны спасаться от StandardError
, который является значением по умолчанию.