Sui Auto Test

分析 Sui Move 测试覆盖率,识别未测试代码,补充缺失测试,执行安全审计,并提供 Python 工具解析覆盖率输出和生成报告。

安装

概览

Sui Auto Test 是一款专为 Sui Move 智能合约设计的自动化测试覆盖率分析与安全审计工具。它能够深入分析 Move 模块的代码执行路径,识别未被测试覆盖的关键逻辑分支,包括未调用的函数、未触发的断言失败路径以及未覆盖的条件分支。通过生成详细的覆盖率报告,该工具帮助开发者快速定位测试盲区,并自动生成针对性的测试用例建议,显著提升合约的测试完备性。同时,该工具集成了安全分析功能,在编写测试的过程中引导开发者主动发现潜在漏洞,如权限控制缺失、整数溢出风险、状态不一致等问题,实现测试与安全审查的双重目标。整个流程高度自动化,从运行覆盖率分析到输出可读报告,再到指导补充缺失测试,形成闭环的工作流,极大提升了开发效率与代码质量。

核心功能特点

  1. 自动分析 Sui Move 合约的测试覆盖率,识别未执行的函数、断言失败路径和条件分支
  2. 提供 Python 脚本解析覆盖率数据,生成结构化的 Markdown 或 JSON 格式报告
  3. 支持为未覆盖代码自动生成测试用例模板,包括正常逻辑与异常失败路径测试
  4. 集成安全审计能力,在测试过程中引导发现权限、溢出、状态一致性等常见漏洞
  5. 可与现有开发流程无缝集成,支持 LCOV 统计和字节码级深度分析

适用场景

Sui Auto Test 特别适合在智能合约开发周期中用于保障代码质量与安全性。在项目初期或每次重大功能更新后,开发者可通过运行该工具快速评估当前测试覆盖水平,明确哪些核心逻辑尚未被充分验证。例如,当一个新模块完成编码后,使用 sui move test –coverage –trace 结合 analyze_source.py 可立即生成 coverage.md 报告,清晰列出如 decrement() 函数未被调用、特定 assert!() 断言失败路径未测试等具体问题。随后,根据报告中提供的指引,开发者可针对性地补充测试用例,确保所有业务逻辑分支都被执行。更关键的是,该工具将安全审查融入测试过程——在编写针对边界值(如 u64::MAX)的测试时,自然触发对整数溢出的检查;在模拟非授权用户操作时,暴露权限控制缺陷。这种‘以测促安’的模式尤其适用于 DeFi、NFT 市场等高价值合约场景,能有效预防因测试遗漏导致的经济损失。此外,团队可在 CI/CD 流程中集成该工具,每次提交代码后自动检测覆盖率变化和安全风险,形成持续的质量门禁。