【发布时间】:2021-07-27 13:47:52
【问题描述】:
我正在尝试为 XCUITests 中的 UI 测试的某些端点实现模拟响应。然而,所有可用的模拟服务器都在测试开始时设置了 url,因此所有请求都通过它们。
我怎样才能只发出通过本地模拟服务器的特定请求,而其余请求通过默认的 prod/stage 端点?
【问题讨论】:
标签: swift mocking xcuitest ambassador swifter
我正在尝试为 XCUITests 中的 UI 测试的某些端点实现模拟响应。然而,所有可用的模拟服务器都在测试开始时设置了 url,因此所有请求都通过它们。
我怎样才能只发出通过本地模拟服务器的特定请求,而其余请求通过默认的 prod/stage 端点?
【问题讨论】:
标签: swift mocking xcuitest ambassador swifter
结帐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。
【讨论】: