随着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
。接下来…… 同学,该你了!