SuperAPI AI 工具集

generate-tests

测试与质量

查看项目

更新于 10-15 19:57

技能介绍

用途:为 Move 合约生成完整测试套件,硬性要求 100% 行覆盖率,部署前必须验证。

主要能力:覆盖四类测试——正常路径(功能可用)、访问控制(非所有者/非管理员被拒)、输入校验(零值、超限、空字符串、超长字符串、零地址被拒)、边界用例(最大值、最小值、空状态)。提供测试模块模板、辅助函数、以 #[expected_failure(abort_code = E_CODE)] 断言错误路径、多签名者测试,以及与主模块视图函数配合的写法。

使用方式:在 #[test_only] 模块中按 Setup 辅助函数、正常路径、访问控制、输入校验、边界用例分段编写;测试名用 test_feature_scenario;用 aptos move test 运行,用 aptos move test --coverage 检查,aptos move coverage summary 核对 100%,aptos move coverage source --module <module_name> 查看未覆盖行,不足则补测至 100%。

限制与注意事项:不得部署未满 100% 覆盖率的合约;不跳过错误路径与访问控制测试;测试代码不硬编码真实私钥或账户地址,也不读取 .env 或 ~/.aptos/config.yaml,改用 @0x1、@0x100 等测试地址。常见问题:跨模块不能直接访问结构体字段,需在主线模块加 #[view] 公共访问器;托管模式下所有权先于上架状态被校验,预期错误码可能是 E_NOT_OWNER 而非 E_ALREADY_LISTED;acquires 只列本代码借用的资源。参考 ../../../patterns/move/TESTING.md 与 SECURITY.md,官方文档见 https://aptos.dev/build/smart-contracts/book/unit-testing。相关技能:write-contracts、security-audit。