統合_SIGN_UP RailStutorialの第9章のエクササイズが機能しない
-
28-10-2019 - |
質問
私はRailsチュートリアルブックからRaisを学んでいます: http://ruby.railstutorial.org/chapters/sign-in-sign-out#fnref:9.14
私は演習に取り組んでいます。割り当ては、統合テストで使用できるように、仕様ヘルパーにサインインメソッドを作成することです。彼はすでにコードを与えました:
def integration_sign_in(user)
visit signin_path
fill_in :email, :with => user.email
fill_in :password, :with => user.password
click_button
end
したがって、layout_links_spec.rb統合テストでは、使用する予定です。
before(:each) do
@user = Factory(:user)
visit signin_path
fill_in :email, :with => @user.email
fill_in :password, :with => @user.password
click_button
# integration_sign_in(Factory(:user))
end
私はすべてをコメントして使用します integration_sign_in(Factory(:user))
. 。私が得るエラーはです
ActiveRecord::RecordInvalid:
Validation failed: Email has already been taken
ただし、Integration_Sign_in関数に非常に似ているオリジナルを使用すると、テストは合格します。誰かが説明を提供してもらえますか?
ありがとう。
解決
あなたのように聞こえます:ユーザー工場は、ユーザーを作成するたびに同じメールアドレスを返しています。以前(:それぞれ)があるので、それはDBを複数のユーザーに作成して詰め込む予定であり、それらはすべて同じ電子メールを持っています。
工場を投稿すると、シーケンスを使用するか、代替ソリューションを見つけるために微調整することができます。
所属していません StackOverflow