2010-01-24 7 views
0

Dans mon test de contrôleur RSpec, j'essaie de tester une action particulière qui appelle une sous-fonction. Mais je ne veux pas que le test inclue l'appel à cette sous-fonction. (cela provoquera une erreur qui ne peut tout simplement pas être réparée dans mon environnement de développement)comment omettre quelque chose d'un test de contrôleur rspec?

Quelle est la meilleure façon d'omettre cet appel de sous-fonction de cette action du contrôleur pendant que j'exécute un test par dessus?

Merci.

Répondre

1

Vous pouvez bouchonner cet appel dans le sous-fonction avant bloc de votre test rspec pour cette fonction comme si

describe "test for the main_action" 
    before(:each) do 
    controller.stub!(:sub_action).returns(true) 
    end 
end 

Alors aucun de vos exemples de test serait en fait appeler cette sub_action. Juste pour la sémantique, Rspec fonctionne toujours dans un environnement de test qui n'est pas en développement mais je comprends ce que vous voulez dire.

+0

ne devrait-ce pas être 'controller.stub!'? – zetetic

+0

oui vous avez raison, nous utilisons moka avec rspec et j'ai essentiellement écrit la syntaxe stub moka. Merci d'avoir signalé cela, j'ai également corrigé la réponse. – nas

Questions connexes