내가 배우고 RAIS 작업 : 나는 운동 작업입니다 http://ruby.railstutorial.org/chapters/sign-in-sign-out#fnref:9.14integration_sign_up하지 레일 튜토리얼 책
. 할당은 스펙 헬퍼에 로그인 메소드를 작성하여 통합 테스트에서 사용할 수 있도록합니다. 그는 이미 코드를 주었다
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))
을 사용합니다. 내가 오류 내가 integration_sign_in 기능에 아주 유사한 보이는 원본을 사용하는 경우, 시험은 통과, 그러나
ActiveRecord::RecordInvalid:
Validation failed: Email has already been taken
입니다. 누군가 설명해 주시겠습니까?
감사합니다.
아. 완벽한 설명 My factories.rb는 다음과 같다 : Factory.define : user do | user | user.name "마이클 하틀" user.email "[email protected]" user.password "는 foobar" user.password_confirmation 당신은 user.email 변경 – okysabeni
"는 foobar" 끝 "[email protected]"F에 .sequence (: 이메일) {| n | "foo#{n}@example.com"} – Webjedi
감사합니다. Webjedi! – okysabeni