【区块链】truffle测试

配置区块链网络

启动Ganache软件

使用VScode打开项目的wordspace

配置对外访问的RPC接口为7545,配置项目的truffle-config.js实现与新建Workspace的连接。

创建项目

创建一个新的目录

mkdir MetaCoin
cd MetaCoin

下载metacoin盒子

truffle unbox metacoin
contracts/:Solidity 合约目录
migrations/:可编写脚本的部署文件的目录
test/:用于测试应用程序和合约的测试文件目录
truffle-config.js:松露配置文件

编译合约

truffle compile --all

编写测试用例

基本用法

artifacts.require()

引入合约的名称,返回抽象合约

const HelloWorld = artifacts.require("HelloWorld");
module.exports

导出函数

module.exports = function(deployer, network, accounts) {
  
}

// Deploy a single contract without constructor arguments
deployer.deploy(A);

// Deploy a single contract with constructor arguments
deployer.deploy(A, arg1, arg2, ...);

// Don't deploy this contract if it has already been deployed
deployer.deploy(A, {overwrite: false});

contract()
  • 在函数运行之前,合约将被重新部署到正在运行的以太坊客户端,以便其中的测试以干净的合约状态运行。
  • 提供以太坊客户端可用的帐户列表,您可以使用这些帐户来编写测试。
it()

每一个需要执行的测试用例。

相关推荐

  1. 区块智能合约测试框架Foundry技术指南

    2024-06-07 10:34:04       38 阅读
  2. Go 语言区块测试实践指南(一):GO单元测试

    2024-06-07 10:34:04       40 阅读
  3. Go 语言区块测试实践指南(一):GO单元测试

    2024-06-07 10:34:04       37 阅读
  4. Go 语言区块测试实践指南(一):GO单元测试

    2024-06-07 10:34:04       45 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 10:34:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 10:34:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 10:34:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 10:34:04       18 阅读

热门阅读

  1. MySQL和Redis的区别

    2024-06-07 10:34:04       9 阅读
  2. shell脚本对编码和行尾符敏感吗

    2024-06-07 10:34:04       9 阅读
  3. 2-链表-61-相交节点-LeetCode160

    2024-06-07 10:34:04       7 阅读
  4. GaussDB 数据库的事务管理

    2024-06-07 10:34:04       8 阅读
  5. Python语言回归:深入探索与实战应用

    2024-06-07 10:34:04       9 阅读
  6. 8086 汇编笔记(十一):内中断

    2024-06-07 10:34:04       9 阅读
  7. OC和Swift的区别,发送消息和执行方法的区别

    2024-06-07 10:34:04       6 阅读
  8. AWS Load Balancer Controller 实践

    2024-06-07 10:34:04       7 阅读
  9. iOS查看、分离、合并库framework的架构

    2024-06-07 10:34:04       7 阅读