我正在使用Devise登录用户。我想写一些测试来确保一切运行顺利。我的签到是使用Poloymorphism Association。
用户可以是雇主或申请人,工作正常。
我正在使用以下代码和Devise给出的sign_in帮助器。
def log_in_applicant
sign_in UserFactory.applicant
end
此代码不签署用户。但是当我进入Rails控制台调试器并编写代码时,用户就会登录!
答案 0 :(得分:0)
Devise不允许您在TestCase中使用sign_in帮助程序,因此上面的代码永远不会在用户中签名。
您需要使用模拟来模拟已签名的使用。
您可以使用Mocha Gem并编写以下代码。
def log_in_applicant
JobsController.any_instance.stubs(:current_user).returns( UserFactory.applicant)
end