Installing ts-jest
ts-jest is a Typescript preprocessor for Jest pre-processor. You’ll need both Jest and TypeScript installed inside your project.
Tip: If you get an error with the following
npmcommands such asnpx: command not found, you can replacenpx XXXwithnode node_modules/.bin/XXXfrom the root of your project.
Dependencies
You can install ts-jest and dependencies all at once with the following commands.
Using npm:
npm install --save-dev jest typescript ts-jest @types/jest
Using yarn:
yarn add --dev jest typescript ts-jest @types/jest
Jest config file
Creating
By default Jest can run without any config files, but it will not compile .ts files.
To make it transpile TypeScript with ts-jest, we will need to create a configuration file.
ts-jest can create the configuration file for you automatically:
Using npm:
npx ts-jest config:init
Using yarn:
yarn ts-jest config:init
This will create a basic Jest configuration file which will make Jest know about your .ts files and handle them correctly.
You can also use the jest --init command (prefixed with either npx or yarn depending on what you’re using) to have more options related to Jest.
However, answer no to the Jest question about whether or not to enable Typescript. Instead, add the line: preset: "ts-jest" to the jest.config.js file afterwards.
Customizing
For customizing jest, please follow their official guide online.
ts-jest specific options can be found here.