[英]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.