Truffle 智能合約測試及單元測試

Truffle 智能合約測試及單元測試

測試主要指標:
1.合約交易 Gas 消耗量測試
2.合約運行時間測試

這裏一共有兩個合約,網上找的,內容如下:

pragma solidity >=0.4.21 <0.7.0;
contract Counter {
    uint public count = 10;
    function inc(uint num) public returns (uint){
        return count += num;
    }
}
pragma solidity >=0.4.21 <0.7.0;
import "./Counter.sol";
contract Callcounter {
    uint public count = 20;
    function CallByAddr(address addr) public returns (uint){
        return Counter(addr).inc(2);
    }
}

編譯這兩個智能合約

truffle compile
在這裏插入圖片描述
啓動區塊鏈模擬端:
ganache-cli
部署智能合約到區塊鏈上:
truffle migrate

以上,即爲編譯,部署智能合約的全部內容,接着我們進行實際的測試;

####測試
step1: 部署這兩個智能合約
我們記錄下這個兩個合約的地址:
在這裏插入圖片描述
Counter:0x22588CcC33cB983636F66C05C6F35a715e30a94E
Callcounter:0xd41EdE4E838F0CB98a48F6bF0510CFeBAd4f53B2

編寫測試JS腳本:

const Counter = artifacts.require("Counter");
const Callcounter = artifacts.require("Callcounter");
contract("Countesr", accounts => {
    it("Get Instance !",async()=>{ });    
    it("Call function",async()=>{
            //const instance1 = await Counter.at('0x22588CcC33cB983636F66C05C6F35a715e30a94E');
       const instance2 = await Callcounter.at('0xd41EdE4E838F0CB98a48F6bF0510CFeBAd4f53B2');
            
       const  res = await instance2.CallByAddr('0x22588CcC33cB983636F66C05C6F35a715e30a94E');

    });
});

執行結果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章