Ethereum 块菌测试支持ABIRV2吗?

Ethereum 块菌测试支持ABIRV2吗?,ethereum,web3,truffle,Ethereum,Web3,Truffle,我想测试一个返回数组结构的函数 这是示例代码 struct Hoge { uint id; string text; } ・・・ constructor() public { hoges.push(Hoge(1, "Hogehoge")); } ・・・ function hogehoge() external view returns(Hoge memory) { return hoges[0]; } 我的测试是这样的 var Sample = artifacts.r

我想测试一个返回数组结构的函数

这是示例代码

struct Hoge {
  uint id;
  string text;
}

・・・

constructor() public {
  hoges.push(Hoge(1, "Hogehoge"));
}

・・・

function hogehoge() external view returns(Hoge memory) {
  return hoges[0];
}

我的测试是这样的

var Sample = artifacts.require('./Sample.sol');

contract('sample', function(accounts) {

  it('facilitates number of place and check-in', function() {
    return Sample.deployed().then(function(instance) {
      sampleInstance = instance;
      return sampleInstance.hogehoge()
    }).then(function(result) {
      hoges = result;
      assert.equal(hoges.id, 1);
    })
  })
})

但是,错误显示
无效的实体类型!:元组

返回数组结构的函数需要
ABIEncoderV2

我听说web3正在尝试支持
ABIEncoderV2
,但我不确定web3现在是否支持
ABIEncoderV2

我的版本是这样的。 块菌v4.1.15(核心:4.1.15) 固体度v0.4.25(solc js)


您能告诉我如何测试我的代码吗?

支持从truffle v5开始
ABIEncoderV2
。 我建议从当前版本升级到v5


支持从块菌v5开始的ABIEncoderV2。 我建议从当前版本升级到v5