使用会话测试Rails控制器

用户名

在我的应用程序中,我有一个会话控制器。现在,我要测试仅在登录后才能访问的用户控制器。

我的问题是我该如何伪造会议。我已经尝试了很多,所以希望您现在能为我提供帮助:

应用程序控制器:

   helper_method :current_user
   def authenticate_user
     current_user
     if @current_user
       return true
     else
       redirect_to(:controller => 'sessions', :action => 'new')
       return false
     end
   end

   private
     def current_user
     @current_user ||= User.find(session[:user_id]) if session[:user_id]
   end

用户控制器具有:

before_filter :authenticate_user

控制器测试:

describe "GET index" do
  it "assigns all users as @users" do
    user = FactoryGirl.create(:user)
    @request.session[:user_id] = user.id
    get 'users'
    expect(@users.size).to eq(1)
  end
end

我也尝试过session[:user_id] = user.id调试(在get请求之后):

  • save_and_open_page让我看到登录页面。
  • @current_user 总是零
  • User.find(session[:user_id]) 返回正确的用户
被杀

尝试controller代替@request

user = FactoryGirl.create(:user)
controller.session[:user_id] = user.id
get 'users'
expect(@users.size).to eq(1)

另外,您是否@users在测试中定义了变量?可能应该是expect(User.count).to eq(1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Devise的Rails 4,使用Rspec测试控制器

来自分类Dev

Ruby on Rails会话控制器InvalidAuthenticityToken

来自分类Dev

使用Rails 6上的Rspec测试控制器问题

来自分类Dev

无法在Rails 5控制器测试中设置会话哈希

来自分类Dev

Rails控制器Rspec测试

来自分类Dev

Rails 4测试控制器故障

来自分类Dev

Ruby on Rails 控制器测试

来自分类Dev

使用Spock的控制器中的单元测试会话变量

来自分类Dev

使用RSpec测试设计自定义会话控制器

来自分类Dev

Laravel 4控制器中的测试会话

来自分类Dev

具有会话属性的MVC控制器测试

来自分类Dev

具有会话属性的MVC控制器测试

来自分类Dev

Angular测试使用RouteParams的控制器

来自分类Dev

使用Mockery的Laravel控制器测试

来自分类Dev

Angular测试使用RouteParams的控制器

来自分类Dev

使用VisualStudioOnline测试控制器设置

来自分类Dev

Rails + Devise-会话控制器说明

来自分类Dev

使用嵌套资源和私有方法使用rspec测试Rails控制器

来自分类Dev

如何使用minitest在Rails中测试控制器的更新方法?

来自分类Dev

使用throw:async测试Rails控制器动作的正确方法是什么?

来自分类Dev

使用Rspec进行控制器测试中的Rails关联问题

来自分类Dev

如何使用minitest在Rails中测试控制器的更新方法?

来自分类Dev

如何测试控制器帖子:使用 rspec 在 rails 上创建 JSON api?

来自分类Dev

Rails 5 with Devise,使用 Rspec 测试控制器(销毁操作)

来自分类Dev

Rails在控制器中使用哈希

来自分类Dev

Rspec / Rails控制器测试404无法正常工作

来自分类Dev

Rails Rspec测试控制器的新动作

来自分类Dev

测试控制器助手在Rails中的重定向

来自分类Dev

如何在Rails 4中测试控制器问题

Related 相关文章

热门标签

归档