Я довольно новичок в рельсах. Я работаю через railstutorial (Rails 3.0). В какой-то момент мы пишем интеграционный тест для потока входа/выхода пользователя:
describe "success" do
it "should sign a user in and out" do
user = Factory(:user)
visit signin_path
fill_in :email, :with => user.email
fill_in :password, :with => user.password
click_button
controller.should be_signed_in
click_link "Sign out"
controller.should_not be_signed_in
end
end
Насколько я понимаю, при тестировании используется база данных db/test. Насколько я могу судить, эта база данных пуста (открыл ее с помощью rails console test
). Как мы можем создать поддельного пользователя с помощью Factory, а затем успешно подписать его имя и адрес электронной почты?
RailsTutorial объясняет:
Здесь блок before(:each) входит в систему, посетив страницу входа и отправив действительную пару адрес электронной почты/пароль.
Почему это правильная пара? Я явно что-то упускаю.
Меня это особенно интересует, потому что мне кажется, что вход НЕ работает, и я хотел бы выяснить, почему.