Ich habe ein merkwürdiges Verhalten NUR in Feature-Tests bemerkt, wenn ein Benutzer nicht angemeldet ist und nicht zur Anmeldeseite umgeleitet wird und ich versuche zu verstehen, warum. Ich verwende Poltergeist als Javascript-Treiber.Entwickle Feature-Tests, die nicht auf sign_in umleiten Seite
Hier ein paar Beispiele:
# works as expected
it 'redirects to sign_in page when not logged in' do
get :index, {}
expect(response).to eq('/users/sign_in')
end
# does not redirect to '/users/sign_in'
it 'should redirect to the user sign in page' do
visit '/'
expect(page.current_path).to redirect_to('/users/sign_in')
end
Weiß jemand, warum devise nicht auf die sign_in Seite in Feature-Tests Umleitung wird?
Ich habe dies versucht: expect (page) .to have_current_path ('/ user/sign_in', url: true) und es zurückgegeben: erwartet "http://www.example.com/" gleich "/ user/sign_in " – user1200990
@ user1200990 Warum würden Sie" url: true "weitergeben? Das sagt ihm, dass er mit der vollständigen URL vergleichen soll - du vergleichst nur den Pfad - du willst auch dein test.log überprüfen und sehen, welche Antworten gesendet werden –
wenn ich das herausnehme, funktioniert es immer noch nicht und Ich bekomme: erwartet "/" gleich "/ user/sign_in" – user1200990