Como posso validar saídas e anulações no RSpec?
Eu estou tentando comportamentos de especificação para argumentos de linha de comando meu script recebe para garantir que passa toda a validação. Alguns dos meus argumentos de linha de comando resultarão emabort
ouexit
sendo chamado porque os parâmetros fornecidos estão ausentes ou incorretos.
Eu estou tentando algo assim que não está funcionando:
# 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
oexit
O método está disparando de forma limpa, impedindo o RSpec de validar o teste (recebo "SystemExit: exit").
Eu também tenteimock(Kernel)
mas isso também não está funcionando como eu gostaria (eu não vejo nenhuma diferença discernível, mas isso é provável porque eu não tenho certeza de como exatamente zombar do Kernel e ter certeza de que o Kernel debochado é usado na minhaSomething
classe).