Installation Installation
npm install jest
$ npm install jest npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN browser-sync-webpack-plugin@2.2.2 requires a peer of browser-sync@^2 but none is installed. You must install peer dependencies yourself. npm WARN eslint-config-airbnb@18.2.0 requires a peer of eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0 but none is installed. You must install peer dependencies yourself. npm WARN extract-text-webpack-plugin@3.0.2 requires a peer of webpack@^3.1.0 but none is installed. You must install peer dependencies yourself. npm WARN webpack-tutorial@1.0.0 No description npm WARN webpack-tutorial@1.0.0 No repository field. + jest@26.4.2 added 399 packages from 166 contributors and audited 1825 packages in 140.326s 67 packages are looking for funding run `npm fund` for details found 1 low severity vulnerability run `npm audit fix` to fix them, or `npm audit` for details
Screenshot – https://i.imgur.com/o0idDeW.png
Configure Configure
Create jest.config.json
and add below code:
{ "testRegex": "((\\.|/*.)(test))\\.js?$" }
Add Commands Add Commands
Open package.json
and add below test
and test:watch
commands as below:
"scripts": { .. "test": "jest --config ./jest.config.json", "test:watch": "npm run test -- --watch" },
Add first test Add first test
Create a file with *-test.js. E.g. I’m creating the index.test.js
file.
Add below code within it:
test('Is TRUE?', () => { expect( true ).toBe( true ); });
Now, Execute npm run test:watch
command.
You can see:
PASS src/index.test.js ? Is TRUE? (4 ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 4.529 s Ran all test suites related to changed files.
Another test Another test
test('Is 1 + 2 = 3 ?', () => { expect( 1 + 2 ).toBe( 3 ); }); test('Is 5 * 4 = 20 ?', () => { expect( 5 * 4 ).toBe( 20 ); });
Now our test automatically start. If not then execute npm run test:watch
command.
You can see:
PASS src/index.test.js ? Is 1 + 2 = 3 ? (4 ms) ? Is 5 * 4 = 20 ? (1 ms) Test Suites: 1 passed, 1 total Tests: 2 passed, 2 total Snapshots: 0 total Time: 4.411 s Ran all test suites related to changed files. Watch Usage: Press w to show more.