Ruby on rails 使用rspec测试登录/注销(在两个API调用之间保留会话数据)

Ruby on rails 使用rspec测试登录/注销(在两个API调用之间保留会话数据),ruby-on-rails,testing,rspec,Ruby On Rails,Testing,Rspec,我想在Rails应用程序中测试以下API方法: /current-user.json /login.json /logout.json 我想在RSpec中运行以下测试: 检查用户是否在/current-user.json处注销 通过向/Login.json发送访问令牌进行登录 检查用户是否登录到/current-user.json 问题是,一旦用户登录,我就在控件中设置session[:user_id]。似乎会话不会在请求之间进行。有没有一种方法可以在RSpec中进行测试,同时保留请求之间

我想在Rails应用程序中测试以下API方法:

/current-user.json
/login.json
/logout.json
我想在RSpec中运行以下测试:

  • 检查用户是否在/current-user.json处注销
  • 通过向/Login.json发送访问令牌进行登录
  • 检查用户是否登录到/current-user.json
问题是,一旦用户登录,我就在控件中设置session[:user_id]。似乎会话不会在请求之间进行。有没有一种方法可以在RSpec中进行测试,同时保留请求之间的会话数据

这是我的规范文件中的代码


您尝试过Mechanize库吗

require 'Mechanize'
m = Mechanize.new
m.keep_alive = true
m.body = YOUR_JSON
m.basic_auth(YOUR_USER, YOUR_PASSWORD)
m.get("#{server_url}/login.json")
m.get("#{server_url}/current.user")
m.get("#{server_url}/login.json")
m.get("#{server_url}/current.user")