2008-12-29 3 views

Répondre

0

Est-ce que vous avez besoin de render_to_string?

+1

Je ne suis pas sûr. Cela sonne comme il faudrait que je modifie le code dans mon contrôleur. Je voudrais juste remplacer la méthode de rendu avec un simulacre pendant que ce test est en cours d'exécution. –

4

La solution la plus évidente semble fonctionner:

@controller.expects(:render) 

J'aurais juré que j'ai essayé cette dernière nuit avec pas de chance. Mais ce matin ça fonctionne comme un charme. J'ai dû oublier une faute de frappe.

2

Il ne semble pas que l'utilisation d'un talon soit nécessaire ici. Si vous voulez vous assurer qu'un modèle donné est rendu, utilisez assert_template et/ou assert_response. Vous pouvez également affirmer un état de l'objet de réponse, soit à la main, soit en utilisant des aides telles que assert_select.

+4

Je comprends votre point de vue, mais ce que j'essayais de faire était un peu différent. Fondamentalement, je voulais juste remplacer quelques méthodes dans mon modèle, et tester pour s'assurer que le contrôleur les a appelés correctement. En évitant le rendu, j'essaie vraiment d'éviter d'avoir à bout de toutes les méthodes utilisées par mes vues/helpers –

+0

Je vois, dans ce cas, il peut être nécessaire de se moquer, mais on dirait que vous avez déjà répondu à votre propre question :) –

Questions connexes