現在讓我們編寫一些測試來確保智能合約被正確初始化。
解釋一下為什麼在開發智能合約時測試如此重要。確保合約沒有錯誤
以太坊區塊鏈上的所有代碼都是不可變的;它不能改變。如果合約包含任何錯誤,我們必須禁用它並部署一個新副本。這個新副本不會和舊合約有相同的狀態,並且會有不同的地址。
部署合約需要消耗 gas,因為它會創建交易並將數據寫入區塊鏈。這需要 Ether,我們希望盡量減少我們必須支付的 Ether 數量。
如果我們寫入區塊鏈的任何合約函數包含錯誤,調用此函數的帳戶可能會浪費 Ether,並且它可能不會按照他們預期的方式運行。
為了後面的測試,需要安裝:
Mocha
https://mochajs.org/
Mocha 是一個功能豐富的 JavaScript 測試框架,運行在Node.js和瀏覽器中,讓異步測試變得簡單有趣。Mocha 測試連續運行,允許靈活準確的報告,同時將未捕獲的異常映射到正確的測試用例。託管在GitHub 上。
Chai Assertion Library
https://www.chaijs.com/
Chai 是一個 BDD / TDD 斷言庫,適用於節點和瀏覽器,可以與任何 javascript 測試框架完美搭配。
這兩個為我們提供需要的測試,為我們的智能合約寫程式
今天先到這,明天再繼續!