Today we are going to learn how we can integrate tests with Jest that allow us to test the React components created.

The first thing we have to do is install Jest
npm install --save-dev jest
Install testing-library/jest-dom
npm install --save-dev @testing-library/jest-dom
We installed ts-jest
npm install --save-dev ts-jest
We installed
npm install --save-dev babel-jest
We will install React testing library:
npm install --save-dev @testing-library/react
If we use TypeScript
npm install --save-dev @testing-library/react @types/react-dom @types/react
Moreover for typescript
npm i --save-dev @types/jest
Now let’s create the folder structure for our Jest tests
Create only folders, no need to add scripts. In the next steps, we will add the scripts.
And let’s initialize jest
npm init jest@latest
First ask if you want to include the command test within package.json. Put Yes Then it asks if we have TypeScript, if so put Yes and if not No The environment for testing is used node.
We will not ask if we want coverage reports, in my case I do want to generate the coverage file and select v8.
If I want to clean up contexts, results… after each test mark Y.
Finally it creates the configuration in jest.config.ts Returns will have to be installed:
npm install --save-dev ts-node
Returns only the HTML translated, without any added.
Returns only the HTML translated, without any added.
If we get an error on module.exports from .eslint, add this to the file .eslintrc.cjs
env: { browser: true, es2020: true, node: true, commonjs: true, jest:true},
If we use TypeScript inside the file tsconfig.json we add in compilerOptions:
Now let’s implement a first Unitary test of a button component
To test this element, we will create within tests/unit/components the file Button.test.js If we want to nest different tests, we can use the describe function:
And now we can execute the test
npm run test
