reactjs - 为什么 ts-jest 不加载我的自定义 tsconfig 文件?
问题描述
出于某种原因,我的自定义 tsconfig 文件没有在 jest.config.ts 中被拾取。这是我的 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
。
推荐阅读
- jquery - 无法使用 Kendo UI Grid 使用后端分页
- azure - 在 YAML 中从 KeyVault 引用 SQL 用户名和密码
- javascript - 将标志和国家名称添加到选择下拉列表中(libphonenumber-js)
- javascript - React JS 组件未应用 CSS 边距
- rest - Apache Camel:使用 toD() 的 GET 服务调用导致无限循环
- angular - Angular - 使用 ASP.NET Core Web API 从相关表中检索数据
- c++ - 使用谷歌风格命名约定在 vscode 中 lint c++
- javascript - 使用 npm 在引导程序中进行 Web 开发时遇到错误
- java - 是否可以使用 Azure Functions 托管 ID 操作 VM?
- sanity - 解决 Sanity.io 中块内容中的引用