Javascript 如何测试摩卡咖啡中的投掷错误

Javascript 如何测试摩卡咖啡中的投掷错误,javascript,ethereum,truffle,Javascript,Ethereum,Truffle,我正在试着测试我和摩卡的合同。 到目前为止,我的解决方案是: it("transfers token ownership", async () => { const tokenInstance = await DappToken.deployed() expect(async () => { await tokenInstance.transfer(accounts[1], 9999999999999999999) }).to.th

我正在试着测试我和摩卡的合同。 到目前为止,我的解决方案是:

it("transfers token ownership", async () => {
        const tokenInstance = await DappToken.deployed()
        expect(async () => { await tokenInstance.transfer(accounts[1], 9999999999999999999) }).to.throw('user has insufficient funds');
    })
但我得到了这个错误:
AssertionError:预期[函数]会抛出错误


知道怎么修理吗?谢谢

它不会抛出一个错误——它返回一个承诺,它拒绝。请参见,例如,是否需要调用指定给expect的箭头函数
expect()
不会调用给定给它的回调。预计会给它一个值,使其行为不受影响。至少这是我使用大多数类似jasmine的测试套件的经验。请在不使用额外箭头功能的情况下进行尝试<代码>预期(等待tokenInstance.transfer(帐户[1],999999999999999))。尽管这可能无法解决jon指出的一个问题,但它并没有抛出一个错误——它返回了一个承诺,它拒绝了。请参见,例如,是否需要调用指定给expect的箭头函数
expect()
不会调用给定给它的回调。预计会给它一个值,使其行为不受影响。至少这是我使用大多数类似jasmine的测试套件的经验。请在不使用额外箭头功能的情况下进行尝试<代码>预期(等待tokenInstance.transfer(帐户[1],999999999999999))。尽管这可能无法解决乔恩指出的问题