在VS Code中除錯Jest單元測試
阿新 • • 發佈:2019-01-23
隨著React
的流行,jest
也成很多專案廣泛使用的測試框架。由於jest
預設是併發執行測試,在日常的工作中發現很多同學對於如何除錯jest
單元測試犯難。這些小細節有時真是“會者不難,難者不會“。這裡給大家介紹如何在code
中除錯jest
測試的小技巧。
注意: 這裡需要
Node
> v8.4. 之前的版本V8
有bug,導致Jest
測試中的斷點根本斷不到。
新增除錯任務
我們需要在Code
中新增一個除錯任務。 內容如下:
{
"type": "node",
"request": "launch",
"protocol": "inspector" ,
"name": "Jest Debug",
"program": "${workspaceRoot}/node_modules/jest/bin/jest",
"stopOnEntry": false,
"args": ["--runInBand", "--env=jsdom", "${fileBasename}"],
"runtimeArgs": [
"--inspect-brk"
],
"cwd": "${workspaceRoot}",
"sourceMaps": true,
"console": "integratedTerminal"
}
這裡有一個
jest
的執行時引數:--runInBand
或者簡寫為-i
不知道大家注意到沒有?就是這個引數控制jest
序列執行所有測試。其他引數和設定我就不贅述了,大家自己檢視
code
的幫助學習。
設定斷點開始除錯
好了,現在你可以在code
中開啟一個你需要除錯的測試檔案並設定好斷點。然後,狠狠的按下F5
。接下來…… 同學,該你了!