¿Cómo puedo validar salidas y abortos en RSpec?
Estoy tratando de especificar comportamientos para los argumentos de la línea de comandos que recibe mi script para garantizar que todas las validaciones pasan. Algunos de mis argumentos de la línea de comando resultarán enabort
oexit
se invoca porque los parámetros proporcionados faltan o son incorrectos.
Estoy intentando algo como esto que no funciona:
# 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
losexit
El método se activa de forma limpia y evita que RSpec valide la prueba (Obtengo "SystemExit: exit").
También he tratado demock(Kernel)
pero eso tampoco funciona como me gustaría (no veo ninguna diferencia perceptible, pero eso es probable porque no estoy seguro de cómo burlarme del Kernel y de asegurarme de que se utiliza el Kernel burlado en miSomething
clase).