尧图精选

【研发类-嵌入式开发Skills】web3-testing 技能

🕒 发布时间:2026/9/2 21:55:23 📁 来源:尧图网络
掌握使用Hardhat、Foundry和高级测试模式的智能合约综合测试策略。技能概述web3-testing 技能是一个专门用于Web3智能合约测试的技能。该技能涵盖使用Hardhat、Foundry和高级测试模式的综合测试策略,帮助开发者编写智能合约单元测试、设置集成测试套件、执行Gas优化测试、模糊测试边缘情况、分叉主网进行真实测试、自动化测试覆盖率报告以及在Etherscan上验证合约。下载地址:agentic-awesome-skills/skills/web3-testing at main · sickn33/agentic-awesome-skills · GitHub主要功能单元测试: 编写智能合约单元测试集成测试: 设置集成测试套件Gas优化测试: 执行Gas优化测试模糊测试: 模糊测试边缘情况主网分叉: 分叉主网进行真实测试覆盖率报告: 自动化测试覆盖率报告合约验证: 在Etherscan上验证合约触发条件在以下情况下应该调用此技能:编写智能合约单元测试设置集成测试套件执行Gas优化测试模糊测试边缘情况分叉主网进行真实测试自动化测试覆盖率报告在Etherscan上验证合约不适用场景任务与Web3智能合约测试无关需要此范围之外的不同域或工具测试框架HardhatJavaScript/TypeScript测试框架:丰富的插件生态系统内置网络分叉Gas报告覆盖率工具Etherscan验证Foundry (Forge)Solidity测试框架:快速编译和测试模糊测试内置Cheatcodes主网分叉Gas快照测试模式单元测试模式部署测试交易测试事件测试时间相关测试Gas优化测试高级测试模式快照和回滚主网分叉账户模拟模糊测试Foundry测试特性模糊测试自动生成随机输入测试函数:使用vm.assume限制输入范围发现边缘情况属性测试Cheatcodes使用vm对象操作区块链状态:vm.prank — 模拟账户vm.deal — 给账户ETHvm.warp — 修改时间vm.expectRevert — 期望回滚主网分叉与真实主网合约交互:测试与现有协议集成使用真实流动性池验证兼容性Gas优化测试比较不同实现的Gas使用:测量函数Gas消耗比较优化前后识别高Gas操作验证Gas节省覆盖率报告生成测试覆盖率报告:# 生成覆盖率报告npx hardhat coverage# 输出示例:# File | % Stmts | % Branch | % Funcs | % Lines |# -------------------|---------|----------|---------|---------|# contracts/Token.sol | 100 | 90 | 100 | 95 |合约验证在Etherscan上验证合约:# 通过CLI验证npx hardhat verify --network mainnet CONTRACT_ADDRESS Constructor arg1 arg2CI/CD集成自动化测试流程:每次提交运行测试生成覆盖率报告上传到Codecov部署到测试网最佳实践测试覆盖率: 目标90%覆盖率边缘情况: 测试边界条件Gas限制: 验证函数不会达到区块Gas限制重入攻击: 测试重入漏洞访问控制: 测试未授权访问尝试事件: 验证事件发射Fixtures: 使用fixtures避免代码重复主网分叉: 使用真实合约测试模糊测试: 使用基于属性的测试CI/CD: 每次提交自动化测试资源文件references/hardhat-setup.md: Hardhat配置指南references/foundry-setup.md: Foundry测试框架references/test-patterns.md: 测试最佳实践references/mainnet-forking.md: 分叉测试策略references/contract-verification.md: Etherscan验证assets/hardhat-config.js: 完整Hardhat配置assets/test-suite.js: 综合测试示例assets/foundry.toml: Foundry配置scripts/test-contract.sh: 自动化测试脚本注意事项仅当任务明确匹配上述范围时使用此技能不要将输出视为环境特定验证、测试或专家审查的替代品如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清
上一篇/下一篇内容由系统自动关联 返回资讯列表 →