4

Cucumber と Devise を使用して非常に単純なシナリオ パスを取得しようとしています - ユーザーのサインイン中... (EPIC FAIL)

私はこのようなステップを持っています:

user = create(user_sym)
user.confirm!

visit new_user_session_path
fill_in 'Email',:with => user.email
fill_in 'Password',:with => attributes_for(user_sym)[:password]
click_button 'Sign in'
page.should have_content('Sign out')

ログは、すべてが正常であることを示しています (電子メールが送信されたことを確認し、UPDATE は正しい確認フラグを挿入します)。

www.example.com

ここや他の場所の多くの投稿でこれについて言及されており、 login_user を :callback => false で使用して機能させていますが、「訪問」を使用したいと考えています。

これを引き起こしている可能性があります。実際のエラーは、テストの失敗、つまり、サインアウト テキストが表示されないことです。レンダリングされているのはRails Homepageです。

 expected there to be text "Sign out" in "Browse the documentation Rails Guides Rails API Ruby core Ruby standard library Welcome aboard

スタックのどの部分がこれをスローしているのかわかりません (私は新しいので!)。おそらくカピバラはリダイレクトしていますか?これが機能するようになった人を見てきましたが、私の開発スタックでは、期待どおりにユーザーのインデックス ページに明確にリダイレクトされます。

どんな光でも大歓迎です。

4

1 に答える 1

1

ApplicationController の after_sign_in_path_for で特定のパスを返すことでこれを修正しました

  def after_sign_in_path_for(resource)
    xxxxx_path
  end

どういうわけかキュウリ テストのルート ルートが「example.com」にリダイレクトされる

于 2013-10-12T06:56:31.707 に答える