我怎樣才能用RSpec測試一些代碼與#exit!
?測試出口!與RSpec
def method
...
rescue MyError => e
logger.error "FATAL ERROR"
exit! 1
end
我可以#exit
方法測試此代碼,因爲提高SystemExit
例外。
it "logs a fatal error" do
lambda do
object.method
expect(logger).to have_received(:error).with("FATAL ERROR")
end
end
it "exits" do
expect { object.method }.to raise_error(SystemExit)
end
我不確定是否可以實現類似的功能。我正在考慮在Kernel
模塊中重新實現exit!
方法,僅用於規範。有任何想法嗎?
你就不能存根呢? – BroiSatse