Что делать, если при запуске тестов в Jest падает ошибка Out of Memory?
Ошибка нехватки оперативной памяти при выполнении юнит-тестов с использованием фреймворка Jest чаще всего возникает в крупных проектах с большим количеством тестовых файлов. По умолчанию Node.js выделяет строго ограниченный объем памяти для работы одного процесса, и при параллельном выполнении сотен тестов этот лимит быстро исчерпывается.
Для решения этой проблемы необходимо программно увеличить лимит выделяемой оперативной памяти для среды выполнения Node.js перед запуском процесса тестирования. Это можно сделать прямо в файле конфигурации пакета package.json в секции скриптов.
В операционных системах на базе Linux и macOS перед командой запуска тестов добавляется переменная окружения или специальный флаг node с указанием мегабайт, например, --max-old-space-size=
Кроме того, стоит оптимизировать сами тесты. Убедитесь, что после выполнения каждого теста вы корректно очищаете моки, закрываете соединения с базами данных и останавливаете таймеры. Уменьшение степени параллелизма через специальные ключи командной строки также может помочь стабилизировать процесс тестирования на слабых машинах.