MockWebServer 响应延迟 - 测试超时

MockWebServer response delay - testing timeouts

我正在尝试使用 MockWebServer 测试 HTTP 超时场景,它会回答我用 Retrofit/OkHttp 发送的测试请求。 (这个问题 was asked before 几年前,但当时涉及 MockWebServer 中的一个错误。此外,API 自那以后发生了相当大的变化,所以我认为重新发布这个问题是有必要的。)

似乎有几种相关的方法,但我希望能有一个清楚的例子来解决这个问题:我不确定..

此外,这两种方法似乎都只 delay/throttle body - 是否无法为响应 header 设置超时? IE。类似于 "wait X seconds after the next incoming request before you send out any response".

的内容

尝试将响应的套接字策略设置为 NO_RESPONSE。

setSocketPolicy() 方法已弃用。

MockResponse mockResponse = new MockResponse().setBodyDelay(10, TimeUnit.SECONDS);

这将使 MockWebServer 响应延迟 10 秒。