【问题标题】:Tests when using Devise gem?使用 Devise gem 时的测试?
【发布时间】:2013-06-12 02:36:52
【问题描述】:

我正在使用 Devise gem 进行身份验证。我想知道如何在我的 Rails 测试中测试功能(使用 Test::Unit)以及人们在应用 gem 后通常会写什么测试?

设计应用于我的用户模型。

【问题讨论】:

  • 你具体想测试什么?
  • 例如,当用户登录时,他们是真正的登录并且用户在会话中可用。退出时相反....或者我应该只是依靠这里的宝石工作?
  • 大概 gem 已经测试过了。你的其余测试不依赖于登录吗?

标签: ruby-on-rails devise


【解决方案1】:

如果您正在尝试测试设计或任何类型的用户交互,您可能应该尝试使用 rspec 和 capybara(或类似的东西)进行集成测试。您甚至可以使用 email_spec gem 测试确认电子邮件。这本书:http://www.manning.com/bigg2/ Rails 4 in Action 包含使用/测试设备身份验证/授权三章,如果您需要详细信息,我会查看。

【讨论】:

    【解决方案2】:

    根据您拥有的身份验证类型,您可能希望采用不同的方法。 在我的上一个应用程序中,我将 Devise 与 omniauth-facebook 一起使用,因此我还对 capybara 进行了一些高级测试,以查看应用程序是否正确处理所有情况(例如,用户未授予扩展权限)

    如果您有一些简单的基于登录名/密码的身份验证,那么测试是否所有受限资源(控制器)都在调用authenticate_user! 就足够了。同样在这种情况下,测试 Devise 本身是没有意义的,因此您可以只检查视图是否正在调用适当的帮助器来呈现登录/退出链接。

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 2011-08-26
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多