存根 Google Maps/Places iOS SDK 调用以进行单元测试

Posted

技术标签:

【中文标题】存根 Google Maps/Places iOS SDK 调用以进行单元测试【英文标题】:Stubbing Google Maps/Places iOS SDK calls for unit testing 【发布时间】:2016-10-12 16:20:54 【问题描述】:

我正在尝试使用本地 json 文件来存根我的 Google 地方信息呼叫。使用 Charles 代理,我发现 Google Maps SDK 使用了 url https://www.googleapis.com。所以,我试着像这样存根:

stub(isHost("https://www.googleapis.com"))  request in
    OHHTTPStubsResponse(fileAtPath: "google_maps.json", statusCode: 200, headers: ["Content-Type":"application/json"])

但它不会拦截谷歌地图 SDK 调用。有任何想法吗?这可能是 Google Maps SDK 使用的不是 Cocoa 的 URL 加载系统吗?

【问题讨论】:

【参考方案1】:

这里给出的答案:(我使用的主机名不正确,应该简单地使用“www.googleapis.com”)

https://github.com/AliSoftware/OHHTTPStubs/issues/219

【讨论】:

以上是关于存根 Google Maps/Places iOS SDK 调用以进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

google.maps.places.Autocomplete 语言输出

如何从 google.maps.places.Autocomplete 获得超过 5 个结果?

从 Google Maps Places API 中删除占位符文本

在 Google Maps Places API 中更改默认文本“输入位置”

Google Maps Places API - 如何获取地名? [复制]

CORS 和 Google Maps Places Autocomplete API 调用 [重复]