1

devise-rspec-cucumber プロジェクトで cucumberを実行しましたが、次のシナリオは失敗しています。

Scenario: User is not signed up
  Given I do not exist as a user
  When I sign in with valid credentials
  Then I see an invalid login message
    And I should be signed out

nil:NilClass (NoMethodError) の未定義のメソッド「flatten」

1 シナリオ (1 失敗)

4 ステップ (4 パス)

最初のステップを除くすべてのステップを削除しようとしましたが、まだ失敗しています:

Given /^I do not exist as a user$/ do
  create_visitor
  delete_user
end

どこ

def create_visitor
  @visitor ||= { :name => "Testy McUserton", :email => "example@example.com",
    :password => "changeme", :password_confirmation => "changeme" }
end

def delete_user
  @user ||= User.where(:email => @visitor[:email]).first
  @user.destroy unless @user.nil?
end

しかし、create_visitor を create_user に置き換えると、パスします。

def create_user
  create_visitor
  delete_user
  @user = FactoryGirl.create(:user, @visitor)
end

何が起こっているのか混乱しています。ステップ定義は、私が提供していないものを期待しているようです。

4

2 に答える 2

1

以前も同じエラー メッセージが表示されました。私は自分の歩みに何の問題もないと確信していました。したがって、エラーはdatabase_cleanerが原因だったので、database_cleaner gemを最新(1.0.1)にアップグレードしようとしました。そして、それは問題を解決しました。database_cleaner gem のバージョンが 1.0.1 でない場合は、これを試すことをお勧めします。やるだけ

$ バンドル更新 database_cleaner

于 2013-05-31T02:43:51.187 に答える