Truffle-Console

松露控制台:assert.equal,如何使用異常進行測試?

  • January 17, 2021

我想檢查 getName() 函式返回的值:

pragma solidity >= 0.5.0 < 0.7.0;

contract SimpleContract {
 string  public name;
 constructor() public {
    name = 'abs';  
 }
 function getName() public view returns(string memory) {
     return (name);
  }
}

我在松露控制台中使用 assert.equal(….) 但它沒有列印消息:

> > 松露(開發)> sci = await SimpleContract.at(‘0xDa0463c841E7D822f6281240cD7593bA3FD4BB0f’); 松露(開發)>等待sci.getName();
> > ‘abs’
> > 松露(開發)>值=等待sci.getName();
> > 不明確的 > > >

truffle(development)> assert.equal(value, ‘abs’, “Both is equal”);

不明確的

> > 松露(開發)> > > >

如何列印消息“兩者相等”。另一方面,當值不相等時,assert.equal(…) 會生成異常。在這種情況下,如何使用 assert.equal(…) 來指示值相等。

有人請指導我。

祖爾菲。

assert.equal當值不相等時會拋出異常。

assert.equal("foo", "bar", "Must be equal"); // AssertionError: Must be equal

如果它沒有拋出任何東西,則意味著您的變數是相等的。

另請注意,Solidity 中的公共變數不需要 getter。它將自動為公共變數創建一個 getter 函式。

引用自:https://ethereum.stackexchange.com/questions/92394