首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的测试中存根出一个对google地图api的请求

在我的测试中存根出一个对google地图api的请求
EN

Stack Overflow用户
提问于 2011-11-06 21:47:46
回答 1查看 1.2K关注 0票数 0

我尝试使用FakeWeb (在cucumber/rails中)模拟地理编码请求。当我阻止所有http请求时,我收到以下消息:

代码语言:javascript
复制
Real HTTP connections are disabled. Unregistered request: GET 
http://maps.google.com/maps/api/geocode/json?..... (FakeWeb::NetConnectNotAllowedError)

因此,我尝试通过以下方式注册url:

代码语言:javascript
复制
FakeWeb.register_uri(:any, %r|http://maps\.google\.com/maps/|, :json 
=> { 
    "status": "OK", 
....} 

我得到的错误是“JSON文本必须至少包含两个八位字节!”(MultiJson::DecodeError)我不确定返回什么信息。以及FakeWeb如何返回json数据。是否有人有一种解决方案,可以将服务器请求存根到google地图api?

EN

回答 1

Stack Overflow用户

发布于 2011-11-07 07:39:59

"A JSON text must at least contain two octets!"错误表明您用来存根响应的JSON字符串无效。在使用json字符串进行存根之前,尝试使用它运行MultiJson.decode(json_string);这将帮助您准确定位错误。

如果您不想处理清除google maps的细节,则可以考虑使用VCR;它将为您记录一个真实的响应,并在后续的测试运行中使用该响应来清除请求。这是在您的测试中获得真实的存根响应的一种更简单的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8027406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档