Ich versuche gerade, Integration/Abnahmetests für eine neue Rails 3-Anwendung mit Gurke und Capybara einzurichten. (I gehobelt zunächst webrat zu verwenden, aber es scheint, dass es nicht Schienen unterstützt 3, so landete ich mit Capybara up)Wie folgt man einer Umleitung nach click_link/button mit Gurke und Capybara in Schienen?
Ich versuche, ein grundlegendes Login Test zum Laufen zu bringen:
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"
Der Problem ist jetzt, dass das Login-Formular mich an /user_session
sendet, die mich dann an die Benutzer nach Hause /home
umleitet. Die Gurke folgt nicht der Umleitung, die dazu führt, dass die Then I should be on the users home page
Zeile fehlschlägt.
Wie kann ich Gurke/Capybara sagen, der Umleitung zu folgen, so dass ich auf der richtigen Seite bin, nachdem ich einen Knopf gedrückt habe, um einem Link zu folgen?
Es scheint eine follow_redirect!
Methode im rack_test Treiber zu sein, die ich verwende, aber es ist privat und ich habe keine Ahnung, wie man diese Funktionalität nennt.
Vielen Dank im Voraus,
Simon
Das ist die Antwort, die ich am meisten fürchtete, aber ich habe das auch von einer anderen Quelle gehört. Müssen Sie das untersuchen ... –
d'oh! Etwas stimmte nicht mit meinen Testdaten. Kein Wunder, dass es nicht funktionierte, wenn der Benutzer nicht in der Datenbank existierte. Danke für die Hilfe! –
Es folgt Capybara Weiterleitungen. Rack :: Test folgt nur Redirect, wenn Sie 'follow_redirect!' Aufrufen: http://rdoc.info/github/brynary/rack-test/master/Rack/Test/Session – Timo