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');

    });
});

执行测试脚本:
Truffle test ./test/Test.js
执行结果如下:
在这里插入图片描述

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值