This content originally appeared on DEV Community and was authored by Acid Coder
ts-jest
is a popular package when you try to use typescript
with jest
.
But one issue that is bugging me recently is, the uncovered lines stat is not correct, my test coverage dropped by 10+%.
After googling, nothing useful come up, and after some troubleshooting, I found out that it was ts-jest
that causing the issue
so I decided to use babel for compilation instead
install dependencies
npm i -D @babel/preset-env @babel/preset-typescript typescript jest
setup npm script
"scripts": {
"test": "jest",
}
create a jest.config.js
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
module.exports = {
testEnvironment: 'node',
roots: ['<rootDir>/src'],
testMatch: ['**/__tests__/**/*.+(ts|js)', '**/?(*.)+(spec|test).+(ts|js)'],
transform: {
'^.+\\.(js|ts)$': 'babel-jest',
},
moduleDirectories: ['node_modules', 'src'],
collectCoverage: true,
collectCoverageFrom: ['**/*.{js,ts}', '!**/*.d.ts'],
}
create a babel.config.js
module.exports = {
presets: [
'@babel/preset-typescript',
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
}
you don't need to install babel-jest
, it comes with jest
finally npm test
and boom, your 100% test coverage is back.
This content originally appeared on DEV Community and was authored by Acid Coder
Acid Coder | Sciencx (2022-05-12T01:02:14+00:00) Jest + Typescript minus TS-Jest. Retrieved from https://www.scien.cx/2022/05/12/jest-typescript-minus-ts-jest/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.