我正在进行测试,但在需要 current_user 的页面上遇到了障碍。我在带有 ruby 1.9.3p327 的 rails 3.2.9 中使用 minitest、capybara、factorygirl 和 authlogic。我将 minitest 作为单独的 gem 安装,并且似乎测试环境正常工作。
我有一个创建有效用户的工厂...我在这样的测试中调用该工厂:
describe "UsersAcceptanceTest" do
it "must load and include content" do
FactoryGirl.create(:user)
visit users_path
page.must_have_content("cPanel")
end
end
FAIL 通知我找不到内容“cPanel”是正确的(cPanel 是可供登录用户使用的链接)。失败错误继续提醒我在“登录,忘记密码,联系”中找不到它......这当然意味着测试正确路由到 users_path,但由于用户未登录而被 authlogic 重定向. 用户无法在我的系统中创建自己,因此在创建时不会自动登录。
如何让工厂与新创建的用户创建新的用户会话?