testing-library / jest-dom

:owl: Custom jest matchers to test the state of the DOM

Home Page:https://testing-library.com/docs/ecosystem-jest-dom

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Memory leak when importing @testing-library/jest-dom in jest-setup file with NodeJS 20

VladimirChuprazov opened this issue · comments

  • @testing-library/jest-dom version: 6.4.2
  • node version: 20.11.1
  • jest version: 29.7.0
  • npm version: 10.2.4

What happened:

Jest fails with a memory leak error when importing @testing-library/jest-dom into jest setup file

Your test suite is leaking memory. Please ensure all references are cleaned.

Reproduction:

Here is the minimal reproduction repository

Problem description:

Jest has a --detectLeaks flag, which causes tests to fail if there is a memory leak. Importing @testing-library/jest-dom causes a memory leak in NodeJS v20. However, in NodeJS v18 the memory leak does not occur.

When commenting out require('aria-query'); var matchers = require('./matchers-5ae87d41.js'); and expect.extend(matchers.extensions); from ./node_modules/@testing-library/jest-dom/dist/index.js memory leak disappears. Both var matchers and require('aria-query') cause a memory leak.

Actually, when running npm run test -- --detectLeaks in the @testing-library/jest-dom repo all tests fail when using NodeJS v20.