测试Chainlink智能合约

本文强调智能合约部署前测试的重要性,介绍了Chainlink智能合约的测试方法。包括使用测试网、分叉链、Mocks模拟依赖关系以及借助助手部署等方式,还提及了不同测试方式适用的项目示例,指出集成测试对扩展dApp很关键。

在这里插入图片描述

由于智能合约的不可更改性,在部署之前对其进行彻底的测试是至关重要的。在编写自动化测试时,开发人员有几个选择。

  1. Solidity测试
  2. Javascript/python/其他语言测试

通常情况下,用JavaScript和Solidity对合约进行两种方式的测试是很有用的,因为大多数dApp都会以这种方式与合约交互,你可以从这个示例测试仓库中看到。另一方面,当你测试一个主要使用点来自另一个链上合约的合约/库时,最应该使用Solidity。

很明显,为了更加测试更加全面,请同时使用这两种方法。如果你有一个简单的智能合约,比如:

pragma solidity >=0.5.0;

contract Background {
   
   
    uint[] private values;
    function storeValue(uint value) public {
   
   
        values.push(value);
    }
    function getValue(uint initial) public view returns(uint) {
   
   
        return values[initial];
    }
    function getNumberOfValues() public view returns(uint) {
   
   
        return values.length;
    }
}

编写一些Solidity测试非常简单,例如:

pragma solidity >=0.5.0;

import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";
import "../../../contracts/Background.sol";

contract TestBackground {
   
   
    Background public background;
    // Run before every test function
    function beforeEach() public {
   
   
        background = new Background();
    }
    // Test that it stores a value correctly
    function testItStoresAValue(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值