Sto provando a specificare i comportamenti per gli argomenti della riga di comando che il mio script riceve per garantire che tutta la validazione passi. Alcuni dei miei argomenti della riga di comando risulteranno invocati in abort
o exit
perché i parametri forniti sono mancanti o errati.Come posso convalidare uscite e aborti in RSpec?
sto cercando qualcosa di simile che non sta funzionando:
# 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
Il metodo exit
sta sparando in modo pulito impedendo RSpec dal convalidare la prova (ottengo "SystemExit: uscita").
Ho anche provato a mock(Kernel)
ma anche questo non funziona come vorrei (non vedo alcuna differenza visibile, ma è probabile perché non sono sicuro di come esattamente deridere il kernel e assicurarsi che il mocked Il kernel viene utilizzato nella mia classe Something
).
Attenzione: abbiamo avuto problemi con una soluzione simile, perché RSpec presumibilmente 'exit's quando le aspettative non riescono, così abbiamo potuto finire salvataggio' exit's di RSpec invece del nostro ecc –