Aar*_*ron 3 rspec devise ruby-on-rails-3
我正在使用RSpec 2开发Rails 3 Web应用程序,我们正在使用Devise进行身份验证.我们的一个(很快)很多控制器都要求用户登录.我知道Devise提供了sign_in测试助手,但它可以与RSpec或Mocha模拟对象一起使用吗?
我最初尝试过@user = mock_model(User)用户是Devise类的地方.这不是一起工作sign_in :user, @user的get 'index'会重定向到登录表单.
有没有人有使用Devise测试的经验并且可以提供帮助?
我们有类似的问题,但使用Factory Girl.我们这样解决了:
在spec_helper.rb中:
config.include Devise::TestHelpers, :type => :controller
Run Code Online (Sandbox Code Playgroud)
在控制器规范(只是一个包装方法):
def login_user(user)
sign_in user
end
Run Code Online (Sandbox Code Playgroud)
然后在您需要的每种方法中,您可以:
login_user(Factory(:user))
Run Code Online (Sandbox Code Playgroud)
...您在factories.rb中定义了一个用户对象.不知道这是否适用于模拟.
| 归档时间: |
|
| 查看次数: |
2380 次 |
| 最近记录: |