Wie kann ich Exits und Abbrüche in RSpec überprüfen?
Ich versuche, Verhaltensweisen für Befehlszeilenargumente anzugeben, die mein Skript empfängt, um sicherzustellen, dass alle Überprüfungen bestanden werden. Einige meiner Befehlszeilenargumente führen zuabort
oderexit
wird aufgerufen, weil die angegebenen Parameter fehlen oder falsch sind.
Ich versuche so etwas, was nicht funktioniert:
# 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
Dasexit
Methode wird sauber ausgelöst und verhindert, dass RSpec den Test validiert (ich erhalte "SystemExit: exit").
Ich habe es auch versuchtmock(Kernel)
Aber auch das funktioniert nicht so, wie ich es gerne hätte (ich sehe keinen erkennbaren Unterschied, aber das liegt wahrscheinlich daran, dass ich nicht genau weiß, wie ich den Kernel verspotten soll und ob der verspottete Kernel in meinem verwendet wirdSomething
Klasse).