You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Hardhat+Chai测试智能合约时遇reverted属性无效错误求助

解决Chai断言reverted无效的问题

出现Error: Invalid Chai property: reverted是因为Chai本身不自带以太坊合约回滚相关的断言方法,这些是Hardhat专属的Chai扩展,需要正确配置插件才能使用。

解决步骤:

  1. 安装必要依赖
    确保安装Hardhat官方的Chai匹配器插件:

    npm install --save-dev @nomicfoundation/hardhat-chai-matchers chai
    

    或使用yarn:

    yarn add --dev @nomicfoundation/hardhat-chai-matchers chai
    
  2. 配置Hardhat插件
    在hardhat.config.js(或.ts)文件中导入并启用该插件:

    // hardhat.config.js
    require("@nomicfoundation/hardhat-chai-matchers");
    
    module.exports = {
      // 你的其他配置内容
    };
    

    若使用ES模块:

    // hardhat.config.ts
    import "@nomicfoundation/hardhat-chai-matchers";
    
    export default {
      // 你的其他配置内容
    };
    
  3. 验证测试代码
    确保测试中导入的expect来自Chai(和你当前代码写法一致即可):

    const {assert, expect} = require("chai");
    

    插件加载完成后,expect(...).to.be.revertedWith()这类合约回滚断言就能正常生效。

注意事项

如果你之前使用的是@nomiclabs/hardhat-waffle插件,建议替换为@nomicfoundation/hardhat-chai-matchers——前者已被官方标记为过时,新的匹配器插件提供了更完善的合约测试断言支持。

内容的提问来源于stack exchange,提问作者Codertjay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:45:31