I'm trying to add Jest to test my CLI written in Typescript but whenever I run jest
it gives me the following error:
Cannot find module '../src/utils' or its corresponding type declarations.
This is my folder structure:
- tests
- utils
- index.ts
- src
- utils
- index.ts
- Profiler.ts
- index.ts
- webpack.config.js
- jest.config.ts
- tsconfig.json
- package.jsonf
This is my tsconfig.json
{
"compilerOptions": {
"target": "ES2016",
"module": "commonjs",
"rootDir": "src",
"allowJs": false,
"checkJs": false,
"declaration": true,
"declarationMap": true,
"outDir": "./dist",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitAny": true,
"alwaysStrict": true,
"skipLibCheck": true
}
}
This is my jest.config.ts
import type { Config } from "jest";
import { defaults } from "jest-config";
const config: Config = {
preset: "ts-jest",
testEnvironment: "node",
};
export default config;
May be important but VScode also throws this error
And if I click on the path to go to the file, it says file not found and displays this path
I'm pretty sure it has something to do with my tsconfig.json
. I've tried adding both to src
& test
to rootDirs
and a bunch of other things that I found online, like adding the paths to include
but nothing has solved this.
CodePudding user response:
if you are running the test from tests/utils/index.ts
it would be ../../src/utils
. As only going back one directory (../
) would put you inside tests
and then you look for a tests/src
which does not exist