2014-11-04 25 views
0

以下是我的rspec。注意三条线被注释掉了。这rspec通过。如何检查RSpec中API帖子的响应?

describe "/my_api_endpoint" do 
    it 'Blah Blah Blah' do 
     post "/my_api_endpoint", @params 
     # expect(response).to be_success 
     # json = JSON.parse(response.body) 
     # puts "json = #{json}" 
     last_response.should be_ok 
    end 
end 

然而,我不但需要知道的是,POST返回成功,我也需要检查它返回的JSON。不知怎的,我不能这样做。当我评论的三线回来,我得到以下错误

NameError: undefined local variable or method `response' for <RSpec::Core::ExampleGroup::Nested_1::Nested_9:0x007f84c58c31f0>` 

如何检查post的结果吗?

+1

您是否在此文件的顶部添加了'require'spec_helper''? – dddd1919 2014-11-05 01:32:28

+0

是'require spec_helper'位于此文件的顶部。 – 2014-11-05 01:57:34

+0

什么是你的rspec版本?如果rspec3,[this](http://stackoverflow.com/questions/24776069/rspec-3-undefined-local-variable-or-method-response-for-rspecexamplegroup)可以帮助你。 – dddd1919 2014-11-05 02:48:21

回答

0

我的工作的同事为我提供了这样的回答:

对于西纳特拉Apps中的反应是last_responseresponse