我正在使用Devise gem进行身份验证。我想知道如何测试我的Rails测试中的功能(使用Test :: Unit)以及应用gem后人们通常会编写哪些测试?
设计适用于我的用户模型。
答案 0 :(得分:1)
如果您正在尝试测试设计或实际上任何类型的用户交互,您应该尝试使用rspec和capybara(或类似的东西)进行集成测试。您甚至可以使用email_spec gem测试确认电子邮件。本书:http://www.manning.com/bigg2/ Rails 4 in Action有三章使用/测试设计认证/授权,如果你需要详细信息,我会查看它。
答案 1 :(得分:0)
根据您拥有的身份验证类型,您可能希望采用不同的方法。 在我的上一个应用程序中,我正在使用带有omniauth-facebook的Devise,因此我还对capybara进行了一些高级测试,看看app是否正确处理了所有情况(例如用户没有授予扩展权限)
如果您有一些简单的基于登录/密码的身份验证,则应该足以测试所有受限资源(控制器)是否正在调用authenticate_user!
。同样在这种情况下,测试Devise本身没有意义,因此您可以检查视图是否正在调用正确的帮助程序来呈现登录/输出链接。