拓冰建站拓冰建站
首页 / 资讯中心 / 正文

isparta CLI选项清单:cover命令全部参数逐项详解

isparta CLI选项清单cover命令全部参数逐项详解【免费下载链接】isparta:skull: A code coverage tool for ES6 (babel/6to5)项目地址: https://gitcode.com/gh_mirrors/isp/ispartaisparta 是一个面向 ES6babel/6to5的代码覆盖率工具它基于 istanbul 实现能让你在运行测试的同时透明地统计语句、分支、函数与行覆盖率。本文以CLI 选项清单的形式把 isparta 唯一的命令cover的全部参数逐项拆解每个选项的含义、默认值、能否重复使用、缩写形式以及如何搭配配置文件使用帮助新手快速查清这条命令该怎么写。⚠️ 先说结论isparta 的命令行接口非常克制——cover命令之外没有其他子命令且并非 istanbul 的所有选项都能用。不确定时随时运行isparta -h查看帮助见 README 中的 Usage 说明。cover 命令在测试流程结束后输出的覆盖率表格即--report text类格式的典型效果一、cover 命令是做什么的cover是 isparta 唯一注册在 CLI 上的命令定义见 src/cli/commands/cover.js。它的工作方式是对匹配到的 ES6 源文件做插桩instrumentation插桩器实现见 src/instrumenter.js以你指定的cmd作为主程序运行例如 mocha、karma 的启动脚本进程退出时把coverage.json和各类报告写到输出目录。所有选项都在这一个命令上因此选项清单其实就是下表这一份。二、cover 命令全部参数速查表选项缩写类型默认值作用cmd—必填位置参数无要运行的 ES6 命令/脚本如 mocha 的入口--config—字符串.istanbul.yml指定 istanbul 格式配置文件--default-excludes—开关关应用默认排除规则**/node_modules/**、**/test/**、**/tests/**--excludes-x列表[]排除的文件集模式可重复如**/vendor/**--report—列表lcv报告格式可重复指定多个--root—字符串当前目录查找待插桩文件的根路径--include-i列表**/*.js纳入覆盖统计的文件集模式可重复--verbose-v开关关输出详细调试日志--include-all-sources—开关关测试运行后统计所有未被引用的源文件选项的完整定义位于 src/cli/ArgParser.js对应的行为测试在 test/ArgParser.js可以对照源码逐项验证。三、逐项详解1.cmd必填——你要测的入口cover后面第一个参数就是cmd例如 mocha 的node_modules/mocha/bin/_mocha。解析规则见 src/cli/commands/cover.js若cmd是一个存在的文件直接转为绝对路径运行若不是本地文件则尝试从系统可执行文件中解析which两者都失败会报Unable to resolve file [xxx]并退出见 test/bin.js。小技巧cmd之后用--分隔后面的内容会原样透传给目标命令例如... _mocha -- --reporter dot。2.--config path——接管 .istanbul.yml不传时使用默认的.istanbul.yml。传入后命令行选项会覆盖配置文件中的同名项overrideConfigWith逻辑所以推荐配置文件打底 命令行微调的方式。3.--default-excludes——一键排除 node_modules 等开启后应用默认排除集**/node_modules/**、**/test/**、**/tests/**防止统计依赖库和测试代码本身。4.-x, --excludes pattern——自定义排除可叠加列表型选项可以写多次。例如--excludes **/vendor/**把第三方目录踢出统计。注意报告输出目录会被自动加入排除集避免覆盖率文件自己统计自己。5.--report format——报告格式可叠加默认值为lcvistanbul 内置的 lcov 系报告组合。可重复传入例如同时输出--report text --report html分别得到终端表格和可视化 HTML 报告。6.--root path——插桩搜索根目录指定从哪个目录开始查找待插桩文件缺省时用当前工作目录。7.-i, --include pattern——圈定要统计的文件默认**/*.js可重复指定多个 glob。另外cover之后直接跟的多余位置参数也会被当作 include 文件合并进来见 src/cli/index.js适合临时补测单个文件。8.-v, --verbose——排错利器开启后终端会打印实际解析到的完整 options、正在运行的命令、以及每个被预加载的文件名排查为什么某个文件没被统计时第一选择。9.--include-all-sources——把没被 require 的文件也算进去默认只有测试真正require到的文件才会出现在报告里加上该开关后所有匹配的源文件都会被强制加载并计入报告让零覆盖的文件显形。四、典型命令行示例官方 README 给出的 mocha 场景babel-node node_modules/isparta/bin/isparta cover \ --report text --report html \ node_modules/mocha/bin/_mocha -- --reporter dot要点isparta 通过 babel 转译 ES6因此通常需要用babel-node启动。五、新手常见问题Q为什么我传了某个 istanbul 选项没反应Aisparta 并未暴露 istanbul 的全部选项只有上表列出的这些。想传更多参数请走--config指向的.istanbul.yml配置文件。Q报告写到哪里A默认写入coverage目录下的coverage.json与所选格式文件可用-v在终端确认实际路径。Qisparta 还能用吗A项目已停止维护官方建议迁移到 istanbuljs/nyc见 README.md 顶部说明。了解 isparta 的参数体系对理解 nyc 这类后代工具同样有帮助。 参考文件package.jsonbin 入口与依赖、src/cli/ArgParser.js选项定义、src/cli/commands/cover.js执行逻辑、test/ArgParser.js选项行为测试。【免费下载链接】isparta:skull: A code coverage tool for ES6 (babel/6to5)项目地址: https://gitcode.com/gh_mirrors/isp/isparta创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门