我对rails相当陌生。我正在使用 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) 块通过访问登录页面并提交有效的电子邮件/密码对来登录。
为什么它是一个有效的对?我显然错过了一些东西。
我对此特别感兴趣,因为在我看来登录不起作用,我想找出原因。