SuperAPI AI 工具集

likec4-cli-codegen-regression

测试与质量

查看项目

更新于 10-16 00:00

技能介绍

用途:在改动或评审 LikeC4 CLI 代码生成、导出器、输出文件命名、include-path 生成行为或 likec4 gen 命令时,用聚焦测试保护输出契约,核心不变量是多文件生成器必须把每个生成的视图写入指定的输出目录。

主要能力与规则:从 packages/likec4/src/cli/codegen 开始;修 bug 时先加回归测试再实现;测试所有受影响的多文件格式,而不只是暴露问题的格式;把外部 include-path 视图与 Windows 路径作为一等边界情况。

输出路径不变量:对 likec4 gen dot、d2、mermaid 或 mmd、plantuml,--outdir 或 -o 定义所有生成文件的包含根;源相对视图路径不得逃逸输出根;绝对源路径、父级相对路径、Windows 盘根路径不得在 --outdir 之外创建文件;来自外部 include 路径的视图仍应输出到 --outdir 下;需定义并断言逃逸或外部源路径的输出命名契约,仅做包含性检查不够。model、react、webcomponent 等单文件生成器保持原有 --outfile 行为。

回归矩阵:覆盖证明契约的最小矩阵,包括项目文件夹内视图、嵌套项目文件夹视图、外部 include 路径视图、含 .. 关系的源路径、Windows 盘符式源路径、绝对源路径,分别断言文件落在 --outdir 下或经过净化、重定根,且无盘根、绝对根逃逸。格式考虑 .dot、.d2、.mmd、.puml。

测试形态:使用临时工作区 fixture(workspace/project-a、shared、out),配置 project-a include ../shared,用 --outdir workspace/out 运行各生成器,断言预期文件存在、命名契约生效、out 之外无生成文件、所有路径通过 isInside(outdir, filepath) 式检查。若真实 fixture 无法产生绝对或 Windows 盘符式 sourcePath,则抽取小型路径解析辅助函数并用纯单元测试覆盖。

聚焦命令:pnpm --filter likec4 test -- codegen;pnpm --filter likec4 typecheck;pnpm exec dprint check packages/likec4/src/cli/codegen;git diff --check。若触及共享路径工具,还需运行拥有这些工具的包测试。限制:文中未提供该技能的具体收费、平台范围或更多实现细节。