Truffle-Test

松露測試:理解測試的問題

  • January 20, 2021

我試圖了解提供的測試:

教程

("Test balance after deposit", function() {
       return SimpleBank.deployed().then(function(instance) {
           sb = instance;
           return sb.deposit({ from: accounts[0], value: web3.utils.toWei('10', 'ether') });
       })

智能合約程式碼如下:

contract SimpleBank{
  uint public transactions;
  mapping (address=>uint) balances;
  
  function deposit() public payable{
     balances [msg.sender] +=msg.value;
     transactions++;
  }
}

測試呼叫:

sb.deposit({ from: account[0], value:  web3.utils.toWei('10', 'ether') });

‘10’ 乙太幣從哪個賬戶流向了哪個賬戶

$$ 0 $$? “交易”狀態變數的目的是什麼?

10 個乙太幣進入合約SimpleBank並留在那裡。在deposit函式中,合約設置了一些額外的數據來標記誰發送了多少乙太幣,但這只是合約的內部簿記,不會將任何乙太幣移動到任何地方。

至於transactions變數,它可能只是展示瞭如何使用狀態變數。它沒有任何真正的好處,它只是一個例子。與所有契約一樣 - 僅供參考。

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