J'essaie de spécifier des comportements pour les arguments de ligne de commande que mon script reçoit pour s'assurer que toute validation passe. Certains de mes arguments de ligne de commande auront pour résultat abort
ou exit
est invoqué parce que les paramètres fournis sont manquants ou incorrects.
J'essaie quelque chose comme ça, mais ça ne marche pas :
# 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
Le site exit
se déclenche proprement, empêchant RSpec de valider le test (j'obtiens "SystemExit : exit").
J'ai également essayé de mock(Kernel)
mais cela ne fonctionne pas non plus comme je le voudrais (je ne vois pas de différence notable, mais c'est probablement parce que je ne suis pas sûr de la façon de simuler le noyau et de m'assurer que le noyau simulé est utilisé dans mon fichier Something
classe).