1.0.1 • Published 4 years ago
qnc v1.0.1
Nodejs Server 代码覆盖率统计
实现一种查看线上node服务实时代码覆盖率统计的方案,相比本地跑单元测试获取覆盖率,具有对任意服务跑黑盒测试的便捷性。
功能与特性
- 使用简单,与原始服务独立进程,互相不影响
- 提供工程总体覆盖率数据和分文件维度的覆盖率数据
- 实时的覆盖率分析报告
- 数据查看方式是在线提供的
实现原理
使用 istanbul-api 对工程代码进行 instrument 化,通过子进程的形式启动待测试脚本。启动脚本时,再通过 --require 的形式注入欲加载的特殊模块。该特殊模块负责搜集内存数据并及时回传给父进程,父进程启动一个 Server 来对外提供覆盖率数据以及报告。
使用方式
使用方式很简单:
npx qnc --root-dir [rootDir] <rootDir/server.js>
也可以在 package.json 中自定义 run-script 执行,这里不再赘述。