您当前的位置: 首页 >  区块链
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

区块链测试 以太坊 truffle是什么 怎么用

软件工程小施同学 发布时间:2021-05-02 20:01:48 ,浏览量:0

一、Truffle是什么

Truffle 提供了一套标准的自动化测试框架,这就使得测试智能合约变得简单了。 这个框架允许你以两种不同的方式编写简单和可管理的测试:

  • 使用 JavaScript 编写,从外部来执行你的合约,就像应用一样。
  • 使用 Solidity 编写,进阶的外部执行合约,适用于 bare-to-the-metal(实在不知道怎么翻译) 场景。

 

二、怎么用

测试示例

pragma solidity ^0.4.11;

import "truffle/Assert.sol"; //truffle公共的库
import "truffle/DeployedAddresses.sol"; //truffle公共的库
import "../contracts/Adoption.sol";

contract TestAdoption {
    Adoption adoption = Adoption(DeployedAddresses.Adoption());

    // 测试 adopt()
    function testUserCanAdoptPet() {
        uint returnedId = adoption.adopt(8); //调用输入参数

        uint expected = 8; //期望的结果

        Assert.equal(returnedId, expected, "Adoption of pet ID 8 should be recorded."); //判断如果没有就抛出异常
    }

    // 单个测试
    function testGetAdopterAddressByPetId() {

        address expected = this;

        address adopter = adoption.adopters(8);

        Assert.equal(adopter, expected, "Owner of pet ID 8 should be recorded.");
    }

    // 所有的测试
    function testGetAdopterAddressByPetIdInArray() {

        address expected = this;

        address[16] memory adopters = adoption.getAdopters();

        Assert.equal(adopters[8], expected, "Owner of pet ID 8 should be recorded.");
    }


}

 

 

 

 

 

 

 

 

Truffle 部署 编译 测试 智能合约 的 完整实践操作

https://blog.csdn.net/diandianxiyu_geek/article/details/78361621

 

文档

https://learnblockchain.cn/docs/truffle/testing/testing-your-contracts.html

 

https://www.jianshu.com/p/9e431843d450

 

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0479s