когда заводская девушка создает объекты в БД?
Я пытаюсь смоделировать сеанс, используяFactoryGirl
/shoulda
(это работало с приборами, но у меня проблемы с использованием заводов). У меня есть следующие фабрики (логин пользователя и адрес электронной почты оба имеютunique
валидация):
Factory.define :user do |u|
u.login 'quentin'
u.email '[email protected]'
end
Factory.define :session_user, :class => Session do |ses|
ses.association :user, :factory => :user
ses.session_id 'session_user'
end
и вот тест
class MessagesControllerTest < ActionController::TestCase
context "normal user" do
setup do
@request.session[:user_id]=Factory(:user).id
@request.session[:session_id]=Factory(:session_user).session_id
end
should "be able to access new message creation" do
get :new
assert_response :success
end
end
end
но когда я бегуrake test:functionals
Я получаю этот результат теста
1) Error:
test: normal user should be able to access new message creation. (MessagesControllerTest):
ActiveRecord::RecordInvalid: Validation failed: Account name already exists!, Email already exists!
Это означает, что запись уже существует в БД, когда я ссылаюсь на нее в настройках теста. Есть что-то, чего я здесь не понимаю? делаетFactoryGirl
создать все фабрики в БД при запуске?
рельсы 2.3.5 / следует / FactoryGirl