Description
jest-dom
version: 1.10.0node
version: 8.11.3react-testing-library
version: 4.1.4
Relevant code or config:
// package.json
"jest": {
"setupTestFrameworkScriptFile": "<rootDir>/src/setupTests.ts",
},
// src/setupTests.ts
import 'jest-dom/extend-expect';
// src/components/SomeComponent/SomeComponent.test.ts
expect(element).toHaveTextContent('Hello World!');
// TypeScript error in the line above:
// Property 'toHaveTextContent' does not exist on type 'Matchers<void>'
Problem description:
When importing jest-dom/extend-expect
, as instructed in the README, within jest's setupTestFrameworkScriptFile
file, and using TypeScript at the same time, I get TypeScript errors in my test files saying that this library's custom matchers are not found:
Property 'toHaveTextContent' does not exist on type 'Matchers<void>'
However, when I import jest-dom/extend-expect
from within the very text files that need those matchers it all works. Moreover, it even works if I import it in just one of those files, which suddenly removes the TS warning from a second test file, without having to import it again from that second test file.
Suggested solution:
This StackOverflow answer may be part of the solution, but I wanted to bring this up first to see if someone more knowledgeable with TypeScript can help. @jgoz maybe?