将以太坊发送给合约时的松露测试msg.value为零

时间:2018-12-28 01:16:18

标签: truffle

我真的感觉好像缺少了一些基本的东西,但是我无法弄清楚为什么在将以太币发送给合约函数时松露测试失败了。我的测试代码如下:

it('Test execute funds deposit', async function () {
    await fundsDepositServiceInstance.depositEther(
        accountAddr, accountNo, {from:accounts[0], value: 100, gas: 4712388});
});

我的固定代码如下:

function depositEther(address _accountAddr, bytes32 _accountNo) external payable {
    require(msg.value < 1, "Insufficient funds to complete transaction");
}

在Ubuntu 18.04.1 LTS上运行Truffle松露v4.1.14,Ganache v1.2.2 恢复代码始终处于激活状态,我的测试失败。如果这是我这方面的一些基本错误,我深表歉意。预先谢谢你。

1 个答案:

答案 0 :(得分:2)

您的<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.0/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.0/umd/react-dom.production.min.js"></script> <div id="app"></div>语句要求require,但是您以msg.value < 1为100的方式调用depositEther。因此,您的代码正在执行预期的工作,并且测试应失败。