2012-04-16 59 views
1

我有我的Rails应用程序下面的API方法,我想测试:测试登录/注销使用RSpec(保留两个API调用之间的会话数据)

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

我想在运行下面的测试RSpec的:

  • 检查用户通过发送一个访问令牌在/current-user.json
  • 登录登出来/login.json
  • 检查用户在登录/ current-user.json

问题是,我在用户登录后在控件中设置了会话[:user_id]。看起来会话不会在请求之间转移。有没有办法在RSpec中进行测试,同时在请求之间保留会话数据?

这里是我的规格文件

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

回答

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") 
+0

谢谢,我会尝试一下并报告回去...... – 2012-04-17 20:19:43