为什么 ts-jest 不加载我的自定义 tsconfig 文件?
Why isn't ts-jest loading my custom tsconfig file?
出于某种原因,jest.config.ts 中未选取我的自定义 tsconfig 文件。这是我的 jest.config.ts:
module.exports = {
setupFilesAfterEnv: [`./jest.setup.ts`],
testEnvironment: `jsdom`,
roots: [
`<rootDir>/test`
],
testMatch: [
`**/__tests__/**/*.+(ts|tsx|js)`,
`**/?(*.)+(spec|test).+(ts|tsx|js)`
],
transform: {
"^.+\.(ts|tsx)$": `ts-jest`
},
globals: {
"ts-jest": {
tsConfig: `tsconfig.jest.json`
}
}
}
我知道正在应用此配置的其他部分。例如,如果我删除全局变量上方的键,我的测试不会 运行。此外,我知道我的 tsconfig.jest.json 文件中指定的更改是修复测试的必要更改,因为如果我在主 tsconfig.json 文件中进行相同的更改,我的测试 运行 就可以了。
我也试过将所需的 tsconfig 编译器选项直接放入 jest.config.ts 文件中,但这似乎也不起作用:
module.exports = {
setupFilesAfterEnv: [`./jest.setup.ts`],
testEnvironment: `jsdom`,
roots: [
`<rootDir>/test`
],
testMatch: [
`**/__tests__/**/*.+(ts|tsx|js)`,
`**/?(*.)+(spec|test).+(ts|tsx|js)`
],
transform: {
"^.+\.(ts|tsx)$": `ts-jest`
},
globals: {
"ts-jest": {
tsConfig: {
jsx: `react`
}
}
}
}
正确的密钥是 tsconfig
而不是 tsConfig
。
出于某种原因,jest.config.ts 中未选取我的自定义 tsconfig 文件。这是我的 jest.config.ts:
module.exports = {
setupFilesAfterEnv: [`./jest.setup.ts`],
testEnvironment: `jsdom`,
roots: [
`<rootDir>/test`
],
testMatch: [
`**/__tests__/**/*.+(ts|tsx|js)`,
`**/?(*.)+(spec|test).+(ts|tsx|js)`
],
transform: {
"^.+\.(ts|tsx)$": `ts-jest`
},
globals: {
"ts-jest": {
tsConfig: `tsconfig.jest.json`
}
}
}
我知道正在应用此配置的其他部分。例如,如果我删除全局变量上方的键,我的测试不会 运行。此外,我知道我的 tsconfig.jest.json 文件中指定的更改是修复测试的必要更改,因为如果我在主 tsconfig.json 文件中进行相同的更改,我的测试 运行 就可以了。
我也试过将所需的 tsconfig 编译器选项直接放入 jest.config.ts 文件中,但这似乎也不起作用:
module.exports = {
setupFilesAfterEnv: [`./jest.setup.ts`],
testEnvironment: `jsdom`,
roots: [
`<rootDir>/test`
],
testMatch: [
`**/__tests__/**/*.+(ts|tsx|js)`,
`**/?(*.)+(spec|test).+(ts|tsx|js)`
],
transform: {
"^.+\.(ts|tsx)$": `ts-jest`
},
globals: {
"ts-jest": {
tsConfig: {
jsx: `react`
}
}
}
}
正确的密钥是 tsconfig
而不是 tsConfig
。