Question

Je vais avoir de gros problèmes tests avec l'API du contrôleur de Rspec. En ce moment je suis en utilisant une solution d'authentification middleware ( Warden ), et quand je lance les spécifications, le proxy ajouté par le middleware est pas là, et tous les tests d'authentification jettent NilPointerExceptions dans tous les sens.

Il semble Rspec n'ajoute le middleware à l'application finale exprès, et je voudrais savoir s'il y a un moyen de patch singe Rspec afin de faire qui vont.

Je l'ai déjà testé le tout avec le concombre, mais cela est un refactoring d'une ancienne version d'authentification et il y a plusieurs tests de contrôleur qui dépendent de la logique d'authentification pour travailler.

Merci d'avance.

Était-ce utile?

La solution

Il semble Rspec API Controller pour Rails 2.x est pas vraiment en utilisant rack sur l'appel du contrôleur, donc ce n'est pas possible de le faire. Cependant, il y a une solution (non prouvée) a par David Chelimsky. Je vais mettre la réponse qu'il m'a donné sur la liste de courrier Rspec-utilisateur.

  

spécifications du contrôleur ne passent pas par rack dans 2 rails, donc pas vraiment.

     

Il y a des spécifications d'intégration, qui enveloppent les rails API de test d'intégration   de sorte que vous pouvez faire tout ce que vous pouvez faire dans un test d'intégration de rails. Juste   déplacer les fichiers vers spécifications / intégration, convertir les demandes de   "Get: index" pour "obtenir" path / to / index" et vous devriez être à peu près   à partir.

     

Faites-nous savoir comment cela fonctionne.

     

Cordialement,   David

J'ai fini par se moquant de la ApplicationController sur les méthodes logiques d'authentification pour faire des choses factices afin de faire mes specs courir, je l'ai fait avant d'avoir la suggestion a par David, donc je ne sais pas si ce travail. De toute façon, je l'espère aider tout autre développeur sur la même situation.

Autres conseils

Ce poste sur un problème lié pourrait jeter un peu de lumière et éventuellement conduire à une solution pour la spécification des composants middleware dans une configuration Rspec (je l'espère!)

https: // rspec .lighthouseapp.com / projets / 5645 / billets / 963-demande-est-nulle # billet-963-14

Il ne permet pas vraiment votre problème spécifique Rails2, mais cette requête est venu haut pour « middleware rspec » donc, espérons aider les autres qui rencontrent le problème comme ils essaient de la bêta Rails3 et au-delà.

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