如何更深入地探究JavaScript代码覆盖率分析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2578个文字,预计阅读时间需要11分钟。
作为一名JavaScript开发者,你可能经常发现自己处于代码覆盖可用的情境。例如:
- 对测试套件的品质感兴趣?- 需要重构一个大型遗留项目?- 代码覆盖可以确保显示准确性?
它为什么是有用的?
作为一名JavaScript开发者,你可能经常发现自己处于代码覆盖可能有用的情景。例如:
- 对测试套件的质量感兴趣? 重构一个大型的遗留项目? 代码覆盖可以准确显示代码库中已覆盖了哪些部分。
- 想快速了解是否覆盖了代码库的特定部分? 代码覆盖可以显示有关应用程序的哪些部分已被执行的实时信息,而不是使用console.log进行printf-风格的调试或手动执行代码。
- 或者你可能正在优化速度,并想知道要关注哪些点? 执行次数可以指出关键函数和循环。
JavaScript在V8中的代码覆盖
今年早些时候,我们在V8上添加了对JavaScript代码覆盖的原生支持。5.9版本中的初始发布提供了函数粒度(显示已执行的函数)的覆盖范围,后来扩展为支持在v6.2中的块粒度覆盖(同样的,仅对于单独表达式有效)。
函数粒度(左侧)和块粒度(右侧)
对JavaScript开发者
目前访问覆盖信息有两种主要的方式。对于JavaScript开发者,Chrome DevTools的Coverage tab给出了JS (和CSS)覆盖率并在源码面板中指出了无用代码。
块覆盖coverage 在DevTools Coverage 面板中的块覆盖。覆盖的行使用绿色标注,未覆盖的行则使用红色。
本文共计2578个文字,预计阅读时间需要11分钟。
作为一名JavaScript开发者,你可能经常发现自己处于代码覆盖可用的情境。例如:
- 对测试套件的品质感兴趣?- 需要重构一个大型遗留项目?- 代码覆盖可以确保显示准确性?
它为什么是有用的?
作为一名JavaScript开发者,你可能经常发现自己处于代码覆盖可能有用的情景。例如:
- 对测试套件的质量感兴趣? 重构一个大型的遗留项目? 代码覆盖可以准确显示代码库中已覆盖了哪些部分。
- 想快速了解是否覆盖了代码库的特定部分? 代码覆盖可以显示有关应用程序的哪些部分已被执行的实时信息,而不是使用console.log进行printf-风格的调试或手动执行代码。
- 或者你可能正在优化速度,并想知道要关注哪些点? 执行次数可以指出关键函数和循环。
JavaScript在V8中的代码覆盖
今年早些时候,我们在V8上添加了对JavaScript代码覆盖的原生支持。5.9版本中的初始发布提供了函数粒度(显示已执行的函数)的覆盖范围,后来扩展为支持在v6.2中的块粒度覆盖(同样的,仅对于单独表达式有效)。
函数粒度(左侧)和块粒度(右侧)
对JavaScript开发者
目前访问覆盖信息有两种主要的方式。对于JavaScript开发者,Chrome DevTools的Coverage tab给出了JS (和CSS)覆盖率并在源码面板中指出了无用代码。
块覆盖coverage 在DevTools Coverage 面板中的块覆盖。覆盖的行使用绿色标注,未覆盖的行则使用红色。

