RailsTutorial 3.2 Ch 9 - "before {valid_signin (user)}" führt dazu, dass der RSpec-Test fehlschlägt
-
28-10-2019 - |
Frage
Ich bin derzeit in RailsTutorial 3.2, Abschnitt 9.3.1 Benutzerindex .
Listing 9.27 leitet eine Bearbeitung des Codes spec/requests/authentication_pages_spec.rb
wie folgt durch:
require 'spec_helper'
describe "Authentication" do
.
.
.
describe "with valid information" do
let(:user) { FactoryGirl.create(:user) }
before { valid_signin(user) }
it { should have_selector('title', text: user.name) }
it { should have_link('Users', href: users_path) }
it { should have_link('Profile', href: user_path(user)) }
it { should have_link('Settings', href: edit_user_path(user)) }
it { should have_link('Sign out', href: signout_path) }
it { should_not have_link('Sign in', href: signin_path) }
.
.
.
end
end
end
Danach schlägt der entsprechende Testabschnitt fehl.Ich habe das Tutorial sehr genau verfolgt, daher sind mein Code und mein Setup ansonsten ziemlich identisch.
Nachdem ich einige Dinge getestet habe, habe ich festgestellt, dass sich das ändert
before { valid_signin(user) }
zu lesende Zeile
before { sign_in user }
lässt stattdessen alle Tests erneut bestehen.Gibt es etwas an der Zeile valid_signin(user)
, das syntaktisch deaktiviert ist, oder deutet dies auf einen Fehler an anderer Stelle in meinem Code hin?
(Die App funktioniert genau so, wie sie soll, nur der Test sagt, dass dies nicht der Fall ist.)
Lösung
Wenn Sie sich Listing 8.34 ansehen, sehen Sie die Definition von valid_signin in der Datei spec / support / utilities.rb.
Andere Tipps
Ich stelle fest, dass ein Großteil der "optionalen" Arbeit erforderlich ist, damit der folgende Code funktioniert.Zu Ihrer Information