Интеграционные тесты API падают с EADDRINUSE при параллельном запуске
Каждый тестовый файл делает app.listen(3000) в beforeAll, а запросы отправляет на http://localhost:3000. При запуске Jest в несколько воркеров часть файлов падает с EADDRINUSE: address already in use :::3000.
Как организовать тесты HTTP-слоя?
- Передавать в Supertest само приложение без listen
- Запускать Jest строго в один поток
- Давать каждому файлу свой фиксированный порт
- Закрывать сервер после каждого теста
