如何测试Devise注册过程?

时间:2011-03-03 12:26:56

标签: ruby-on-rails-3 rspec devise rspec2

我最近将Devise引擎添加到具有现有身份验证系统的项目中(来自Rails教程)。

在我添加Devise之前,我的UsersController处理了所有用户注册工具new,create,edit,destroy,并且我为它们编写了很多rspec测试。当然,现在注册由Devise处理,我必须从users_controller_spec.rb中删除这些测试。

我可以在哪里放置这些测试以确保设计注册过程正常工作?

修改

好的,我相信自从我发布问题以来,我已经取得了一些进展。

首先,我通过在/app/controllers/registrations_controller.rb中创建自己的RegistrationsController来覆盖Devise注册控制器。

class RegistrationsController < Devise::RegistrationsController

end

然后我告诉Devise在我的/config/routes.rb文件中使用此控制器进行注册:

devise_for :users, :controllers => { :registrations => "registrations" }

现在我需要做的就是在/spec/controllers/registrations_controller_spec.rb中进行测试。

我是在正确的轨道上吗?

1 个答案:

答案 0 :(得分:2)

如果您计划覆盖某些控制器方法,那将是一个很好的解决方案。通常,您不会测试其他已经拥有自己的测试套件的框架。你只是复制测试。也就是说,如果你更自在,那就去吧。