2

Rails-3アプリケーションでキュウリBDDに取り組んでいます。

「assert ! controller.signed_in?」を使用すると step_definition で「cucumber」を実行すると、 「undefined method 'signed_in?'」というエラーが発生しました。nil:NilClass (NoMethodError) の場合"

controller-helper に入らないのはなぜですか (signed_in? は sessions_helper で定義されています)。

assert ! SessionsController.signed_in?「 」で試したとき

Error : undefined method `signed_in?' for SessionsController:Class (NoMethodError)

そして " assert ! SessionsHelpers.signed_in?" エラー : 未定義のメソッド `signed_in?' の場合 SessionsHelper:Module (NoMethodError) の場合

私のSessions_helperでは:

def signed_in?
    !current_user.nil?
  end
4

1 に答える 1

0

私もこの問題を経験しWorld(SessionsHelper)、Cucumber ステップ ファイルの末尾に追加することで解決しました (おそらく、それを配置するより良い場所があります)。

余談ですが、Cucumber はリクエスト間でこれらをサポートしていないように見えるため、Cookie とセッションに関連する他の問題が発生する可能性があります。たとえば、signed_in?ログインフォームへのリダイレクト/送信を実行した後はテストできません。

于 2013-03-13T10:29:45.637 に答える