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