【问题标题】:cancancan and devise testing for rails appcancancan 并为 Rails 应用程序设计测试
【发布时间】:2014-06-16 21:20:22
【问题描述】:

我一直在研究如何为我正在构建的一个小型测试轨道 wiki 测试我的能力和用户,但我很难思考如何测试其中一个或两个?。

我想我想以管理员/编辑等身份登录用户并测试该用户的行为是否符合其应有的行为。我还想测试页面是否为经过身份验证的用户显示正确的信息。

这不仅仅是一个问题,我正在寻找一些基本的轻推而不是答案:)。

我使用 Rspec、Cancancan、Rails 4 并设计用于身份验证。 我已经阅读了一些对我不起作用的方法:

  1. Cancan example
  2. Another ex i tried for cancan
  3. Devise and rails 4 我正在使用路由身份验证进行设计。
  4. Devise and sign_in

无论如何,这是我的文件。我将链接到我的 git 存储库

  1. my abilities.rb
  2. pages.rb
  3. users.rb
  4. pages_controller.rb

我也有工厂,但是这样做的诀窍是什么

  1. 登录用户:示例建议使用设计测试助手,然后创建已登录用户存根。我在这方面还没有完全成功:(所以朝着正确的方向轻推
  2. 设计和能力:我的理解是我需要使用 cancan/matchers 然后为管理员/编辑器或任何视图创建一些工厂,然后在我登录用户并实例化能力后进行常规测试。我尝试的所有示例也都失败了。
  3. 最后测试页面控制器:我需要再次以正确的能力登录用户,然后测试每个用户的每个操作,看看我是否收到了正确的记录?

也许我没有充分分离角色,或者我错过了一些我能读到的重要步骤,但即使是对其中任何一个的微小推动,也将不胜感激。

【问题讨论】:

    标签: ruby-on-rails-4 rspec devise factory-bot cancan


    【解决方案1】:

    你可能已经看到了,但是这个 CanCan 页面https://github.com/ryanb/cancan/wiki/Testing-Abilities 描述了测试能力类背后的一些基本的高级方法。 TL;DR 重点测试能力类本身并保持控制器测试轻松。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      相关资源
      最近更新 更多