1

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

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

4

2 回答 2

1

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

于 2013-06-11T16:13:30.230 回答
0

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

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

于 2013-06-11T18:36:52.743 回答