@barney-media/crap-typescript-vitest (英语)
测试适配器 废字型标注启用伊斯坦布尔JSON的覆盖输出,并在测试后报告CRAP的分数.
安装
npm install --save-dev @barney-media/crap-typescript-vitest [email protected] @vitest/[email protected] vite@^8.3.4
维特4和5得到支持. 安装同一版本的 vitest 财务报告和审定财务报表 @vitest/coverage-v8清洁的消费者
4.1.12和5.0.5. 对于Vitest 4, 替换两者 5.0.5 以上版本为 4.1.12。 。 。 .
明确安装Vite,特别是和Yarn一起安装,因为Vitest 5宣布它为所需的对等方.
Node.js 22/24/26在Windows,macOS,和Linux上得到充分的支持;使用当前安全补丁.
设置
import { withCrapTypescriptVitest } from "@barney-media/crap-typescript-vitest";
export default withCrapTypescriptVitest({
test: {
include: ["test/**/*.test.ts"]
}
});
withCrapTypescriptVitest 覆盖您的 Vitest 配置以启用覆盖收集并注册 CRAP 报告器 。 当任何函数超过 CRAP 阈值时, 测试会失败 .
若为 test.coverage.enabled 明确 false,帮助者保留了该值,而不注册 CRAP 报告者。 覆盖提供者、记者和目录设置仍然恢复正常,但只有在覆盖再次启用时才恢复阈值执行.
何时 test.reporters ,帮助者保留 default 记者,并加入CRAP记者. 明确
记录器值或数组替换默认值; 帮助者保存已配置的条目, 只添加 CRAP
记者 何时 coverage.reporter ,默认为 json 财务报告和审定财务报表 text。明确的报道值是:
仅按规定保留和扩充 json 记者在需要时。 将两个报告选项设置为空数组
仅保留CRAP和JSON的记者,并压制Vitest的测试和报道终端报告.
记者默认主机 format 改为 none因此,除非配置,否则它不会发出主 stdout 报告。 它能够 junit 默认并写入 CI 测试报告 UI 的完整侧车 。 默认覆盖报告路径为 coverage/crap-typescript-junit.xml;自定义覆盖路径获得匹配的侧车路径. 过 format, (中文(简体) ), agent, (中文(简体) ), failuresOnly, (中文(简体) ), omitRedundancy, (中文(简体) ), output, (中文(简体) ), junit, (中文(简体) ), junitReport, (中文(简体) ), threshold, (中文(简体) ), excludes, (中文(简体) ), excludePathRegexes, (中文(简体) ), excludeGeneratedMarkers,或 useDefaultExclusions 在可自定义分析和报告的适配器选项中。 设定 junit: false 以禁用 JUnit 文物.
agent: true 默认主输出为 format: "toon", (中文(简体) ), failuresOnly: true,以及 omitRedundancy: true明确 format, (中文(简体) ), failuresOnly: false,或 omitRedundancy: false 选项可以覆盖这些默认值。 JUnit侧车为完整报告,不受 agent, (中文(简体) ), failuresOnly,或 omitRedundancy。 。 。 .
基线可分析性排除总是跳过声明,测试/样本文件, __tests__/, (中文(简体) ), dist/, (中文(简体) ), coverage/,以及 node_modules/。生成代码默认排除生成的目录片段,精确 gen 目录片段,常见生成的文件名后缀,原生出产物,Angular生成的文物,以及领先生成-头标记. 除非 useDefaultExclusions: false;完整报告和JUnit侧车中包括排除审计的计数,而文件被排除在外.
默认阈值是 6.0; 数值下方 4.0 或以上 8.0 打印与 CLI 相同的阈值引导警告.
退出代码 2 意味着CRAP门槛被突破. 报告错误, 如选项无效, 覆盖缺失, 或报告写入失败 1。 。 。 .
见 主要文件 详细情况.