SuperAPI AI 工具集

wdk-review-tests

测试与质量

查看项目

更新于 10-16 04:08

技能介绍

用途

wdk-review-tests 用于审查 WDK(Wallet Development Kit)模块的测试套件,检查其是否符合既定的测试约定,覆盖断言方式、mock 边界、测试隔离、覆盖率、命名与结构等方面。它既可以审查指定路径下的测试文件,也可以在未提供路径时审查当前项目的测试目录。

主要能力

该技能逐条应用规则并识别违规。对每项违规,报告内容包括:违反的规则编号(如 R1、R2)、文件与行号、问题代码、以及带修正代码的修复建议。所有发现按文件分组;全部文件审查完成后,给出按规则统计的违规数量汇总。

其规则体系包括:

  • R1:只断言具体值,不断言类型、模式、范围或是否存在;toBeUndefined() 属于可接受例外。
  • R2:mock 依赖需用 toHaveBeenCalledWith 校验精确参数;无参数方法可用 toHaveBeenCalled()。
  • R3:每个单元测试只测一个方法;合并同场景用例,删除被更强断言包含的弱断言,子类套件不重复测试继承方法。
  • R4:只测试公开 API,不测试内部/私有模块,不访问以 _ 开头的私有属性。
  • R5:断言抛错时必须包含预期消息或正则。
  • R6:方法返回对象时断言所有相关字段。
  • R7:原始类型用 toBe,对象与数组用 toEqual。
  • R8:测试 hook 不得调用被测类的方法来准备状态。
  • R9:只 mock 外部依赖(网络、I/O、区块链节点),纯函数与本地计算使用真实实现。
  • R10:PR 中每个新增公开方法必须有对应单元测试。
  • R11:覆盖可选参数变体与边界情况,但不得测试契约不允许或参数类型已排除的输入。

测试数据约定包括:stub 返回值用 DUMMY_ 前缀加 SCREAMING_CASE;输入参数用无前缀 SCREAMING_CASE;占位字符串用 dummy- 前缀;fixture 需匹配真实 SDK 类型;使用真实 BIP-39 助记词而非重复词。结构约定包括 tests/ 目录、生命周期 hook 的职责划分、常量作用域、顶层 mock 引用并逐测试配置返回值、使用普通 dummy 类而非工厂函数等。集成测试约定包括:用 hardhat 在已知区块分叉测试网、提交预编译合约产物、从 jest setup 脚本启动基础设施、每个测试一个完整场景、用本地节点或 provider 独立验证链上效果等。

使用方式

提供待审查测试文件所在路径;未提供时审查当前项目的测试目录。技能按上述规则逐文件检查并输出分组结果与汇总。

适用场景

适用于 WDK 模块测试代码的评审、提交前自检,以及团队统一测试标准的落地。

限制

资料未提供该技能的收费、价格、具体安装命令或调用语法,暂未提供。