相关疑难解决方法(0)

如何在rspec特性测试中访问(设计)current_user?

在设计文档中,他们提供了有关在测试控制器时如何访问current_user的提示:

https://github.com/plataformatec/devise/wiki/How-To:-Test-controllers-with-Rails-3-and-4-%28and-RSpec%29

但是,在进行功能测试时呢?我正在尝试测试我的一个控制器的create方法,并在该控制器中使用current_user变量.

问题是设计中建议的宏使用@request变量,对于特征规范它是零.什么是变通方法?

编辑:

到目前为止,这是我目前的规格:

feature 'As a user I manage the orders of the system' do
  scenario 'User is logged in ad an admin' do
    user = create(:user)
    order = create(:order, user: user)
    visit orders_path
    #Expectations
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是,在我OrdersControllercurrent_user.orders电话中,由于current_user没有定义,它会重定向到我/users/sign_in.

我在下面定义了这个 /spec/features/manage_orders.rb

ruby rspec ruby-on-rails devise

21
推荐指数
2
解决办法
2万
查看次数

设计rails current_user与user_signed_in?

我正在使用Devise on Rails 4.1我的问题是关于助手以及它们与会话的关系。current_user:告诉您是否有用户可用的用户会话。user_signed_in:告诉您用户是否已通过身份验证。

我不能理解如果user_signed_in可以有一个current_user?是假的吗?

两种方法之间的区别是什么,它与会话有什么关系。

谢谢。理查德·麦森(Richard Madson)

ruby-on-rails devise

6
推荐指数
2
解决办法
7885
查看次数

标签 统计

devise ×2

ruby-on-rails ×2

rspec ×1

ruby ×1