【区块链】truffle测试

配置区块链网络

启动Ganache软件

使用VScode打开项目的wordspace

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

创建项目

创建一个新的目录

bash 复制代码
mkdir MetaCoin
cd MetaCoin

下载metacoin盒子

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

编译合约

bash 复制代码
truffle compile --all

编写测试用例

基本用法

artifacts.require()

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

javascript 复制代码
const HelloWorld = artifacts.require("HelloWorld");
module.exports

导出函数

javascript 复制代码
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()

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

相关推荐
庭前云落2 小时前
Compound 6| Compound V2 和 V3 的对比讲解
区块链
ws2019072 小时前
华南产业集群赋能:2026广州汽车电子展,技术迭代与全球机遇共振?
大数据·科技·汽车·区块链
ETFOption3 小时前
50ETF期权分仓技术讲解(三):分仓系统技术实现与平台选择指南
人工智能·区块链
混凝土拌意大利面20 小时前
区块链|WEB3:时间长河共识算法(Time River Consensus Algorithm)
安全·web安全·区块链·共识算法
栗子~~21 小时前
OpenZeppelin 相关概念与Hardhat 2 集成
区块链·openzeppelin·hardhat
Cvmax1 天前
xStocks.fi:DeFi 领域的代币化股票与 ETF 创新
大数据·人工智能·区块链
小七mod1 天前
【ETH】以太坊账户模式
web3·区块链·eth·以太坊·比特币·btc·账户模型
每天的每一天2 天前
交易所-域划分的一些思考
金融·系统架构·区块链
庭前云落2 天前
Compound 2| Compound的基本运行机制
区块链
庭前云落2 天前
Compound 5| Compound的技术架构
架构·区块链