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

无法测试简单Truffle Solidity项目的技术求助

Truffle项目编译与测试问题解决方案

1. 构造函数可见性警告处理

  • 问题原因:Solidity 0.8及以上版本中,构造函数的可见性修饰符(如public)已被废弃,编译器会自动忽略该设置,因此触发警告。
  • 解决步骤:
    1. 打开contracts/SimpleProject.sol文件
    2. 将构造函数行的public修饰符移除,修改为:
      constructor() {
          // 原构造函数逻辑
      }
      

2. 测试找不到工件错误处理

  • 问题原因:测试文件test/test_simple_project.js中错误引用了不存在的TestSimpleProject合约,而你实际创建的合约是SimpleProject,导致Truffle无法找到对应编译后的工件文件。
  • 解决步骤:
    1. 打开test/test_simple_project.js文件
    2. 将文件开头的导入语句修改为正确的合约名称:
      // 原错误代码
      // const TestSimpleProject = artifacts.require("TestSimpleProject");
      
      // 修改后
      const SimpleProject = artifacts.require("SimpleProject");
      
    3. 同时更新测试块内的合约实例引用,例如:
      contract("TestSimpleProject", accounts => {
          let simpleProjectInstance;
          
          beforeEach(async () => {
              simpleProjectInstance = await SimpleProject.deployed();
          });
          
          // 测试用例逻辑
      });
      
    4. 保存文件后重新运行truffle test即可正常执行测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:24:10