je suis en train d'exécuter ce test:test du contrôleur Rspec échoue
it "render form to update an bundle with a specific id" do
bundle = mock_model(Bundle)
Bundle.stub!(:find).with("1") { bundle }
get :edit, :locale => "en", :id => 1
Bundle.should_receive(:find).with("1").and_return(bundle)
end
code à partir d'un contrôleur:
class BundlesController < ApplicationController
# GET /bundles
# GET /bundles.json
.....
# GET /bundles/1/edit
def edit
@bundle = Bundle.find(params[:id])
end
.....
end
Mais test échoue avec le message:
BundlesController mise à jour Bundle rendu sous forme pour mettre à jour un paquet avec un ID spécifique Échec/Erreur: Bundle.should_receive (: find) .with ("1") .et_return (bundle) () .find ("1") prévu: 1 fois reçu: 0 fois # ./spec/controllers/bundles_controller_spec.rb:60:in `bloc (3 niveaux) dans '
Quelqu'un peut-il me aide? Merci!
Rien ne prouve que le contrôleur possède réellement une action d'édition, ou que l'action d'édition a un appel à 'Bundle.find'. Montrez-nous plus de code, s'il vous plaît. –
Ma conjecture: Utilisez une chaîne '" 1 "' au lieu d'un entier '1':': id => "1" '. – rdvdijk