diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/testing.rst | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/testing.rst b/docs/testing.rst index bb2e3d5..ead722b 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -49,6 +49,18 @@ It is also possible to match requests by partial function, returning a response. This approach to testing has one caveat: the responses are not type-safe. That is, the stub backend cannot match on or verify that the type of the response body matches the response body type requested. +Another way to specify the behaviour is passing a response monad to Stub. It is useful if you need to test scenario with slow server, when response should be not returned immediately but after some time. +Example with Futures: :: + + implicit val testingBackend = SttpBackendStub(new FutureMonad()).whenAnyRequest + .thenRespondWithMonad(Future { + Thread.sleep(5000) + Response(Right("OK"), 200, "", Nil, Nil) + }) + + val respFuture = sttp.get(uri"http://example.org").send() + // responseFuture will complete after 10 seconds with "OK" response + Simulating exceptions --------------------- |