209 похожих чатов

Вопрос по ethers.js Пытаюсь потестить метод контакта, который кидает require(). Тестирую

примерно так
await expect(constract.method()).to.be.rejectedWith(Error)
.then(function(error) {
// expect(error.message).to.contain('Error message');
});

Но получаю в error примерно такое содержимое:
Error: missing revert data in call exception [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ]
at Logger.makeError
at Logger.throwError
at checkError
at EthersProviderWrapper.<anonymous>
at step
at Object.throw
at rejected {
reason: 'missing revert data in call exception',
code: 'CALL_EXCEPTION',
error: Error: VM Exception while processing transaction: reverted with reason string 'Error message'
at VoteStorager.getVote (contracts/VoteStorager.sol:29)
at HardhatNode.runCall
at EthModule._callAction
at HardhatNetworkProvider.request
at EthersProviderWrapper.send,
data: '0x'
}

Хотя рядом лежит другой тест с такой же логикой (правда уже другого контракта), и там все отображается корректно (корректное содержимое error.message.
Я наткнулся на такой discussion, видимо проблему человек не решил. Но подумал что вдруг уже кто сталкивался, как обходили?

1 ответов

4 просмотра

для chai await expect().to.be.revertedWith(“Error Message”) и все

Похожие вопросы

Обсуждают сегодня

Карта сайта