1

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

/current-user.json
/login.json
/logout.json

我想在 RSpec 中运行以下测试:

  • 检查用户是否已在 /current-user.json 注销
  • 通过向 /login.json 发送访问令牌登录
  • 检查用户是否在 /current-user.json 登录

问题是,一旦用户登录,我就在控件中设置了 session[:user_id]。似乎会话在请求之间没有延续。有没有办法在 RSpec 中进行测试,同时保留请求之间的会话数据?

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

https://gist.github.com/2c077538bddfdb9c76bd

4

1 回答 1

0

你试过机械化图书馆吗?

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")
于 2012-04-16T23:56:43.407 回答