我怎样才能通过 it(...).then() 单元测试中的函数
How can I pass through the it(...).then() function in unit test of solidity
我前几天一直在学习solidity。很简单也很有趣,但是有很多问题自己解决不了。这是其中一个问题。
在某个合约的单元测试的源代码中,我发现了 it(...).then() 函数。
var DAppToken = artifacts.require("./DAppToken.sol");
contract("DAppToken", (accounts) => {
it("transfers taken ownership", async () => {
const dappTokenInstance = await DAppToken.deployed();
return await dappTokenInstance.transfer.call(accounts[1], 99999999999999999999999999999);
}).then(assert.fail).catch((error) => {
assert( error.message.indexOf("revert") >= 0, "error message must contain revert");
});
});
没有按照我的预期执行。我收到以下错误。
TypeError: it(...).then 不是函数
我不确定这个错误。
How could I help me?
.then
不应该在 it
之后。它必须附加到返回的承诺中。
it("transfers taken ownership", async () => {
const dappTokenInstance = await DAppToken.deployed();
return await dappTokenInstance.transfer.call(accounts[1], 99999999999999999999999999999)
.then(assert.fail).catch((error) => {
assert( error.message.indexOf("revert") >= 0, "error message must contain revert");
});
});
在这种情况下,在await
之后使用.then
来捕获错误。有点 try/catch
我前几天一直在学习solidity。很简单也很有趣,但是有很多问题自己解决不了。这是其中一个问题。 在某个合约的单元测试的源代码中,我发现了 it(...).then() 函数。
var DAppToken = artifacts.require("./DAppToken.sol");
contract("DAppToken", (accounts) => {
it("transfers taken ownership", async () => {
const dappTokenInstance = await DAppToken.deployed();
return await dappTokenInstance.transfer.call(accounts[1], 99999999999999999999999999999);
}).then(assert.fail).catch((error) => {
assert( error.message.indexOf("revert") >= 0, "error message must contain revert");
});
});
没有按照我的预期执行。我收到以下错误。
TypeError: it(...).then 不是函数
我不确定这个错误。
How could I help me?
.then
不应该在 it
之后。它必须附加到返回的承诺中。
it("transfers taken ownership", async () => {
const dappTokenInstance = await DAppToken.deployed();
return await dappTokenInstance.transfer.call(accounts[1], 99999999999999999999999999999)
.then(assert.fail).catch((error) => {
assert( error.message.indexOf("revert") >= 0, "error message must contain revert");
});
});
在这种情况下,在await
之后使用.then
来捕获错误。有点 try/catch