我调用一个 API,然后我在其中获取他们的 xml 并对其进行解析以返回一个Response
对象。
调用 3rd 方 API 的典型内容。
所以现在在我的测试中,我想使用 webmock 说“当你收到访问 example.com 的请求时,只需给我一个 Response.new 对象,这样我就可以继续我的代码并处理它”。
我正在使用 rspec。这是到目前为止的代码。
测试代码为:
stub_request(:any, /.*blah.*/).
with(:headers => {'Accept'=>'*/*', 'User-Agent'=>'Ruby'}).
to_return(:status => 200,
:body => "#{BlahResponse.new("<?xml version=\"1.0\"?><data><type><![CDATA[success]]></type><subject><![CDATA[Info]]></subject><code>29</code><description><![CDATA[Success]]></description><meeting_id><![CDATA[awesome-455]]></meeting_id></data>")}",
:headers => {})
错误总是导致响应不是 Nil 的方法,这意味着我没有传递任何看起来像的东西。