How to Run Jest Unit Tests in a Typescript Project

RMAG news

How To Run Jest Unit Tests In a Typescript Project

Follow these steps to set up Jest unit tests in a TypeScript project.

IMPORTANT

This guide uses the ts-jest npm library to simplify the setup. As described on the npm page, ts-jest is a Jest transformer with source map support that allows you to use Jest to test projects written in TypeScript.

Step 1 – Create your project folder and initialize npm

Run the following commands to create a new project folder and initialize npm. Replace my-project with the name of your project.

mkdir my-project
cd my-project

npm init -y

Step 2 – Install prerequsites

Run the following command to install the necessary npm packages.

npm install –save-dev typescript jest ts-jest @types/jest

Step 3 – Setup the typescript project

Run the following command to create a tsconfig.json file in your project folder.

npx tsc –init

Step 4 – Configure Jest

Run the following command to create a Jest configuration file that is compatible with Typescript.

npx ts-jest config:init

This command will create the jest.config.js file in your project folder.

Step 5 – Create some code and unit tests

Create the src/calculator.ts file as below:

export function add(a: number, b: number): number {
return a + b;
}

Create the tests for the calculator in the test/calculator.spec.ts file as below:

import { add } from ../src/calculator;

describe(Calculator tests, () => {
it(should add two numbers, () => {
expect(add(1, 2)).toBe(3);
});
})

Step 6 – Run the tests

Run the tests from the command line as below:

npx jest

You should see these results in the console:

❯ npx jest
PASS test/calculator.spec.ts
Calculator tests
✓ should add two numbers (1 ms)

Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.385 s, estimated 2 s
Ran all test suites.

Step 7 – Add test script in package.json file

To run the tests via the npm test command you can change the scripts section in the package.json file to look like this:

“scripts”: {
“test”: “jest”
}

Now you should be able to run the tests with the npm test command and get the same output in the console.

Please follow and like us:
Pin Share