J'utilise RSPEC 1.3.2 pour tester une action de contrôleur qui ressemble à ceci comme suit:
@bar.stub(:can_do_something?) controller.instance_variable_get("@bar").stub(:can_do_something?) controller.stub_chain(:bar, :can_do_something?) Bar.new.stub(:can_do_something?)
3 Réponses :
Bar.any_instance.stub(:can_do_something?)
@bar code> est attribué dans un
avant_filter code>
Donc: bar.should_receive (: trouvez) .and_return Your_Object_or_mock code>
C'est allow_any_instance_of (bar). Pour recevoir (: can_do_something?). Et_return true code> aujourd'hui.
Si tout échoue, vous pouvez faire quelque chose de similaire à Any_Instance.stub. Pour le compte rendu, cela me fait me sentir sale.
Je ne vais pas avec cette solution mais accepte votre réponse puisque c'est le seul qui a répondu à ma question
Pour l'enregistrement, c'est un peu plus propre, je pense:
bar = Bar.new # or use FactoryGirl to create a Bar factory bar.stub(:can_do_something?) { # return something } controller.instance_variable_set(:@bar, bar)
Où / comment
@bar code> instancié?
@bar code> est attribué dans un
avant_filter code>