ruby - 如何在 user_controller_spec 中以用户身份登录?

标签 ruby ruby-on-rails-3 testing authentication specifications

除非是管理员,否则不允许任何人查看用户页面。因此,如果用户没有登录,他们将无法离开主页。在 user_controller_spec 中,我们有几个关于编辑个人信息或密码的测试。但是测试永远不会通过,因为我们在规范类中创建的用户没有登录。有没有办法在 user_controller_spec 中登录用户?

最佳答案

如果您使用 Devise 进行身份验证,它会提供辅助方法:sign_in

所以你可以这样做:

it "should do something" do
  sign_in(user) # user is an object of your User model
  #Continue testing
end

参见 this documentation获取更多信息。

关于ruby - 如何在 user_controller_spec 中以用户身份登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244925/

相关文章:

ruby-on-rails - ruby/rails bool 方法命名约定

ruby-on-rails - 如何通过 API 将 YouTube 视频详细信息导入 Rails 应用程序?

ruby-on-rails - Rails,如何在设定的时间(早上)获得 1.day.from_now?

C 嵌入式自动单元测试生成

ruby-on-rails - 升级到 Rails 5 后替换 ActionDispatch::ParamsParser

ruby - Vagrant provisioning 预装时找不到rvm

ruby-on-rails - Devise + Omniauth - 如何传递额外的参数?

ruby-on-rails-3 - has_many 和 belongs_to 在同一个模型中

android - 我们可以在安卓模拟器上测试shake应用吗?

spring - 我们应该使用 TDD 自动测试 spring 上下文吗?