Comment suivre une redirection après click_link/bouton avec le concombre et le capybara dans les rails?
Je suis en train d'essayer de mettre en place l'intégration/tests d'acceptation pour une nouvelle rails 3 avec le concombre et le capybara. (J'avais initialement prévu de les utiliser webrat, mais il semble qu'il ne prend pas en charge les rails 3, donc j'ai fini par capybara)
Je suis en train d'essayer d'obtenir une base de login de test de travail:
Feature: Login user
In order to access the non-public parts of the site,
as a user,
I want to login to the site
Scenario: login with valid credentials
Given I am on the login page
When I fill in "Email" with "[email protected]"
And I fill in "Password" with "pass"
And I press "Login"
Then I should be on the users home page
And I should see "Login successful"
Le problème maintenant est que le formulaire de connexion m'envoie /user_session
qui ensuite me redirige les utilisateurs à la maison /home
. Le concombre ne pas suivre la redirection qui provoque la Then I should be on the users home page
ligne à l'échec.
Comment puis-je dire de concombre/capybara à suivre la redirection, alors que je suis sur la page de droite, après avoir cliqué sur un bouton de suivre un lien?
Il semble y avoir un follow_redirect!
méthode dans le rack_test pilote qui je suis, mais c'est privé, et je n'ai aucune idée de comment appeler cette fonctionnalité.
merci d'avance,
Simon
OriginalL'auteur Simon Wallner | 2010-07-23
Vous devez vous connecter pour publier un commentaire.
Capybara suit automatiquement les redirections. Quelque chose est cassé.
oh pinaise! Quelque chose n'allait pas avec mes données de test. Pas étonnant que ça ne fonctionne pas si l'utilisateur n'existe pas dans la base de données. Merci pour l'aide!
Il est Capybara qui suit les redirections. Rack::Test en résulte seulement de redirection si vous appelez
follow_redirect!
: rdoc.info/github/brynary/rack-test/master/Rack/Test/SessionJe downvoted ce parce Rack Test ne permet pas de suivre automatiquement les redirections, et voici un commentaire disant que et pourtant, la réponse n'a pas été mis à jour.
OriginalL'auteur triskweline
Ajouter ceci dans votre suit:
Puis, quand vos tests sont désobéissants, vous pouvez ajouter "Et je dump la réponse" à votre pas et de voir où il va avec les redirections ou quoi que ce soit.
OriginalL'auteur Ghoti
Quelque chose qui pourrait fonctionner est de commutation de l'ordre des déclarations:
Ensuite la case de la page en cours va se passer après le départ pour le texte de la page. Concombre tests ne nécessitent beaucoup de débogage, bonne chance!
OriginalL'auteur Karl