温馨提示:因微信中外链都无法点击,请通过文末的 “阅读原文” 到技术博客中完整查阅版;
本文简要介绍了如何在 Jest 单元测试中利用 Chrome Node DevTools 来辅助调试
在 Jest 单测中进行 debugger 目前有两种方法:1. VSCode 提供的 Debugger 功能;2. Chrome Node DevTools
刚开始我用 VSCode 的 Debugger 功能,在 TS 源码进行 debugger 时候,发现在源码上打断点无法准确定位:
vscode 给 ts 源码单测调试会有问题
遂采用 Chrome Node DevTools 调试方法,主要是参考 调试Jest 这篇文章来进行设置。
debugger
。这将作为断点chrome://inspect
,弹出一个单独的 devtools 窗口
node --inspect node_modules/.bin/jest --runInBand
--runInBand
选项,表示仅在当前的进程中连续运行所有测试,而非通过创建的子进程的工作池来运行测试。Jest运行测试用例的特点是多进程并发运行不同测试案例,达到快速的效果。但是这样对调试来说是没法进行的。这个参数保证了使用一个进程运行所有代码。
接下来就可以开心的 debug 了:
在 devtool 中进行 debugger
REFERENCE
参考文档
launch.json
的配置项教程,涵盖了 debug 全部测试文件 和 debug 单个测试文件 这两种场景,足够了launch.json
的配置项,可以借鉴一下