Philipp Horstenkamp aa9afe998d
All checks were successful
Try out action / Try action (push) Successful in 22s
Lint / pre-commit Lint (push) Successful in 41s
Initiated the action. (#1)
Reviewed-on: #1
Co-authored-by: Philipp Horstenkamp <philipp@horstenkamp.de>
Co-committed-by: Philipp Horstenkamp <philipp@horstenkamp.de>
2024-05-28 23:29:17 +02:00

648 B

Writing tests

Undici is tuned for a production use case and its default will keep a socket open for a few seconds after an HTTP request is completed to remove the overhead of opening up a new socket. These settings that makes Undici shine in production are not a good fit for using Undici in automated tests, as it will result in longer execution times.

The following are good defaults that will keep the socket open for only 10ms:

import { request, setGlobalDispatcher, Agent } from 'undici'

const agent = new Agent({
  keepAliveTimeout: 10, // milliseconds
  keepAliveMaxTimeout: 10 // milliseconds
})

setGlobalDispatcher(agent)