Web3 智能合约测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/web3-testing。
技能介绍
要解决什么问题
智能合约一旦部署就难以修改,测试缺口会直接变成链上资金与逻辑风险。团队往往要在 Hardhat 与 Foundry 两套栈之间切换,还要处理 Gas 上限、重入、权限边界和主网依赖合约等场景;缺少统一 playbook 时,覆盖率与 CI 往往停留在「能跑通 happy path」。
技能如何帮你测合约
本技能把 Web3 合约测试拆成可执行的步骤:先明确目标、约束与输入,再按最佳实践落地并给出验证方式。核心覆盖包括:
- 环境:Hardhat 测试环境搭建、Foundry(
Forge)测试流程 - 测试形态:单元测试模式、集成套件、快照与回滚、账户模拟
- 链上真实度:主网分叉、在分叉上对接已有合约
- 质量与发布:Gas 优化测试、自动化覆盖率报告、Etherscan 合约验证、CI/CD 集成
技能内引用 references/hardhat-setup.md、references/foundry-setup.md、references/test-patterns.md 等文档,并配套 assets/hardhat-config.js、assets/test-suite.js、assets/foundry.toml 与 scripts/test-contract.sh 作为配置与示例起点。实践上强调覆盖率目标(>90%)、边界与 Fuzzing、重入与未授权访问、事件断言,以及用 fixture 减少重复代码。
适用边界
任务与 Web3 智能合约测试无关,或需要的工具/领域超出 Hardhat、Foundry、分叉与链上验证范围时,不要使用本技能。需要逐步示例时可查阅 resources/implementation-playbook.md。
使用场景
- 新合约上线前,用 Hardhat 或 Forge 补齐单元测试并生成覆盖率报告,覆盖权限与重入等路径
- DeFi 集成需调用主网已部署协议时,搭建主网分叉环境做集成测试,避免只在 mock 上验逻辑
- 发版前做 Gas 回归:对关键函数跑优化测试,确认不会顶到区块 Gas 上限
- 在 CI 里对每次提交自动跑测试套件,并在部署流程中完成 Etherscan 合约源码验证
适合人员
- 负责 Solidity 合约交付、审计前要把覆盖率拉到 90% 以上并补边界用例的链上工程师
- 协议集成工程师,需要在分叉链上对接 Uniswap 等真实合约再合并 PR 的开发者
- 维护合约 monorepo、要把 Hardhat/Foundry 测试挂进 GitHub Actions 的 DevOps 或全栈工程师
- 上线前专门排查重入、未授权调用与事件缺失的安全向合约开发者