XCUITest 模拟特定端点

问题描述

我正在尝试为 XCUITests 中的 UI 测试的某些端点实现模拟响应。然而,所有可用的模拟服务器都会在测试开始时设置 url,因此所有请求都会通过它们。

如何只发出特定请求通过本地模拟服务器,其余请求通过认生产/阶段端点?

解决方法

结帐http://wiremock.org/。有代理设置允许您将 URL 重定向到实际端点 v/s 模拟端点。技术名称是代理存根映射:http://wiremock.org/docs/proxying/

从文档中复制和粘贴

代理存根映射 代理响应的定义方式与存根完全相同,这意味着可以使用相同的请求匹配标准。

以下代码会将所有对 http://:/other/service/.* 发出的 GET 请求代理到 http://otherservice.com/approot,例如在本地运行 WireMock 时,对 http://localhost:8080/other/service/doc/123 的请求将被转发到 http://otherservice.com/approot/other/service/doc/123