Question

User.should_receive(:update_attributes).with({'these' => 'params'})

Qu'est-ce que ça veut dire de déclaration? these n'instancié nulle part comme signifiant rien.

L'ensemble de la déclaration est la suivante:

  describe "with valid params" do
    it "updates the requested user" do
      User.should_receive(:find).with("37") { mock_user }
      User.should_receive(:update_attributes).with({'these' => 'params'})
      put :update, :id => "37", :user => {'these' => 'params'}
    end

Je dis cela parce que je reçois une erreur:

unknown attribute: these

Ce qui vient du scénario ci-dessus ..

Était-ce utile?

La solution

Il dit que la méthode update_attributes doit être invoquée sur le modèle User avec un argument de {'these' => 'params'} pendant tout essai est en cours d'exécution.

En fait ce qui suit devrait se produire au cours de l'exécution:

User.update_attributes({'these' => 'params'})

Plus d'informations ici: http://rspec.info/documentation/mocks/message_expectations.html

Autres conseils

Vous ne devez pas remplacer le hachage ({ 'ces' => 'params'}). Pensez-y comme un contrat. Je l'ai dit que quand je mets, le hachage suivant doit être reçu par le modèle de mes objets. Dans la ligne suivante, vous appelez la méthode de mise à jour et le contrat est cochée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top