SuperAPI AI 工具集

hardhat-toolbox-mocha-ethers

通用与其它

查看项目

更新于 10-16 07:23

技能介绍

用途:当项目依赖 @nomicfoundation/hardhat-toolbox-mocha-ethers 时,与 hardhat 核心技能配合使用,补充 Mocha 测试环境下的 ethers 辅助方法与 Chai 以太坊断言。测试组织、network.create() 结构、networkHelpers、fixtures 与类型检查流程需先加载 hardhat 核心技能。

主要能力:该栈在 Mocha(全局 describe/it)下运行测试,用 chai 断言。Mocha 不会 await describe 回调,因此需在文件顶部用顶层 await 建立连接:const { ethers, networkHelpers } = await network.create();。通常每个文件一个连接,测试间状态隔离靠 loadFixture 而非重建连接。ethers 提供 provider 读取链上数据、getSigners 获取默认有资金账户、parseEther 等工具,以及 deployContract 部署合约(可传构造参数与指定 signer)、getContractAt 附加已部署合约、getImpersonatedSigner 模拟任意地址发交易。合约类型由 TypeChain 从编译后的 ABI 生成,类型检查前需先运行 hardhat build。Chai 匹配器扩展了 expect,支持 revert、revertedWith、revertedWithCustomError、withArgs、emit 事件断言,以及 changeEtherBalance/changeEtherBalances 余额变化断言(正值表示收到,负值表示支出,不含 gas)。普通断言直接使用 chai 的 expect。

使用方式:在 loadFixture 的 setup 函数中用 ethers.deployContract 作为标准部署步骤;向非默认账户发交易时,先用 networkHelpers.setBalance 充值,再用 ethers.getImpersonatedSigner 获取模拟 signer。

适用场景:使用 Mocha + Chai + ethers 的 Hardhat 智能合约测试项目。

限制:需先加载 hardhat 核心技能;类型检查依赖先执行 hardhat build;资料未提供安装命令、版本要求、收费与平台信息。