How to Run Jest Unit Tests in a Typescript Project
dorinandreidragan
Posted on August 9, 2024
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.
Posted on August 9, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.