SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-16 01:31

技能介绍

用途:该技能用于 ikigai 项目的开发阶段,以测试驱动开发(TDD)方法约束编码过程,核心原则是为所写的代码编写测试,避免先写实现、后补测试。

主要能力与流程:遵循 Red/Green/Verify 循环。Red 阶段先写失败测试,编写调用新函数的测试代码,在头文件中添加函数声明,并添加可编译但不做事的桩实现(例如 return OK(NULL););编译错误不算失败测试,必须有可编译可运行的桩,并确认测试确实因断言失败。Green 阶段只写让测试通过的最小代码,测试通过即停止,不提前编写辅助函数,也不编写“以后会用到”的代码。Verify 阶段运行质量检查:check-unit --file=PATH 必须通过;check-filesize --file=PATH 要求文件小于 16KB;check-complexity --file=PATH 要求函数复杂度低于阈值。

适用场景:开发阶段测试应覆盖快乐路径与明显错误情形,充分覆盖主要功能,保持推进节奏,不必卡在边界情况上;开发期允许存在覆盖缺口,缺口留到发布前的专门覆盖率阶段补齐。判断是否写辅助函数时可自问:当前是否有通过的测试会调用它?若没有就删除。

覆盖率阶段(严格模式):绝对规则是没有任何测试需要时绝不写代码。补齐覆盖缺口时,Verify 步骤会额外加入 check-coverage,并要求 90% 覆盖率。需遍历每个分支:用 mock 触发错误路径,用 tcase_add_test_raise_signal 配 SIGABRT 测试断言违规,测试空值、null、边界条件等边界情形。仅在确实无法测试时(如内存不足、不可能状态)使用 LCOV_EXCL 标记;若有分支未覆盖,应自问能否为其编写测试,能就写。

限制:资料未提供该技能的具体安装方式、依赖环境、支持的编程语言或运行平台,也暂未提供收费、价格或效果数据。