Я изучаю rais из учебника по рельсам: http://ruby.railstutorial.org/chapters/sign-in-sign-out#fnref:9.14
Я работаю над упражнением.Назначение - создать метод входа в spec helper, чтобы его можно было использовать в интеграционных тестах.Он уже дал код:
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
Однако, если я использую оригинал, который выглядит так же, как функция integra_sign_in, тесты пройдены.Может кто-нибудь дать объяснение, пожалуйста?
Спасибо.