[英]Rails Devise Token Autentication Rspec JSON API testing session issues
我正在使用Ruby on Rails为移动应用程序构建JSON api。 我有一个像这样的随机游戏功能:
这是通过/games/random_game.json调用完成的。
rspec测试如下所示:
it "should start a random game" do
post "/api/v1/games/random_game.json",
:token => player1.authentication_token,
:game_type => "tictactoe"
post "/api/v1/games/random_game.json",
:token => player2.authentication_token,
:game_type => "tictactoe"
parsed_body = JSON.parse(last_response.body)
parsed_body.has_key?("gamestate").should == true
end
预期结果:第一次调用应返回状态:成功第二次调用应返回新游戏的json
怎么了:
首次通话返回状态:成功
第二次呼叫返回状态:失败错误:“玩家不能拥有两个相同类型的待处理游戏”
在随机游戏方法中,我抛出了用户的打印声明。 永远是第一人。
在随机游戏方法中,我将打印出参数的声明。 它正在发布两个不同的令牌。
最糟糕的是,如果我使用CURL进行相同的调用,它将成功。
Rspec中发生了什么事情来缓存用户会话?
您可以像这样对身份验证令牌进行存根:
player1.stub(:authentication_token).and_return("test1234")
player2.stub(:authentication_token).and_return("test4321")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.