废话4t
受到罗伯特·C·马丁(Bob叔叔)的启发 废话4java 财务报告和审定财务报表 废话4clj,为TypeScript和TSX所改编. 他后来 废话 解决方案计算 CRAP对包括TypeScript在内的几种语言的分数.
查找复杂且测试不足的 TypeScript 函数, 当 CI 存在风险时失败 超过你的极限。 crap4ts 结合了百科全书的复杂性和测试覆盖范围 进入每个功能的 CRAP(变化风险反跳板)分数.
它分析TypeScript/TSX与伊斯坦布尔JSON或LCOV的覆盖范围并生产 文本或 JSON 报告。 支持每个文件的阈值, 独立的单列波 软件包组、可选分支评分、快递路由标签和 Git 更改选择.
快开始
需要节点.js >=20.19.0 <25。软件包为 Linux (glibc 2.35+) 和 macOS 捆绑二进制
在x64/arm64上,加上Windows x64.
npm install --save-dev @crap4ts/crap4ts
# Generate coverage with your test runner first, then:
npx crap4ts --coverage coverage/coverage-final.json src
对于LCOV或JSON输出:
npx crap4ts --coverage coverage/lcov.info --coverage-format lcov src
npx crap4ts --coverage coverage/coverage-final.json src --format json --threshold 12
npx crap4ts --coverage coverage/coverage-final.json src --coverage-metric branch
npx crap4ts --coverage coverage/coverage-final.json src --changed-since main
运行覆盖一次 维特/最佳食谱。 。 。 . 生成的命令可配置 5分钟超时。 。 。 .
在代理工作流程中使用 crap4ts 键
就复杂、测试不足的函数提供编码剂具体反馈: 生成覆盖、运行 crap4ts、检查标记函数、改进测试或 简化代码,然后重新运行大门. JSON报告支持自动反馈; 相同的阈值可以在CI中运行.
见 代理工作流程配方 用于配置和可重复使用的代理指令.
分红和CI
CRAP = complexity² × (1 − coverage)³ + complexity,则涵盖
分数从0到1 分数更低.
默认阈值是 第8条。退出代码 : 0 个 通过, 2个 表示分数
超过它的阈值, 1个 表示输入或分析失败无效.
缺漏或模糊的保险默认失效; --report-only 保留未知
计分可以显示,同时仍在测量分数上执行阈值.
测试、声明和生成的输出被默认排除在外。 Java 脚本 源和原始 V8 覆盖范围没有支持.