[英]Using TypeScript with Jest not catching syntax errors
将打字稿编译回 js 时,您可以指定选项--alwaysStrict
,其中:
以严格模式解析并为每个源文件发出“使用严格”
因此,如果您在函数中缺少一个强制参数,它就会被这种严格模式捕获。
我们正在使用ts-jest
因此我们可以使用 Jest 来测试我们的 Typescript 代码。 我们面临的问题是我们还没有找到模仿严格解析行为的方法。
这真的很烦人,因为所有测试似乎都通过了,但有时会出现语法错误,我们只在创建生产版本时才注意到(我们设置了--alwaysStrict
)
在我们的jest.config.js
我们有:
module.exports = {
roots: ["<rootDir>/src"],
transform: {
"^.+\\.tsx?$": "ts-jest"
},
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
"testEnvironment": "node"
};```
ts-jest
默认使用项目中的tsconfig.json
。
(注意:如果你想要一个单独的测试配置文件,你可以配置ts-jest
以使用不同的配置文件)
您可以在配置文件的compilerOptions
部分中设置alwaysStrict
,并且ts-jest
在编译您的 TypeScript 时使用该标志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.