【区块链】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()

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

相关推荐
老蒋每日coding1 小时前
Web3 开发入门:用 Ethers.js 玩转以太坊交易与合约
web3·区块链
AC赳赳老秦2 小时前
专利附图说明:DeepSeek生成的专业技术描述与权利要求书细化
大数据·人工智能·kafka·区块链·数据库开发·数据库架构·deepseek
暴躁小师兄数据学院12 小时前
【WEB3.0零基础转行笔记】基础知识篇—第一讲:区块链基础
笔记·web3·区块链
中金快讯12 小时前
FP Markets澳福点差竞争力存疑?澳福低成本策略能否重塑优势?
人工智能·区块链
泷fyk12 小时前
区块链+AI数据管理产品设计方案
大数据·人工智能·区块链
皮皮学姐分享-ppx13 小时前
中国城市间交通驾车距离矩阵(2024)
大数据·人工智能·经验分享·科技·区块链
草原猫2 天前
产业数智化:DAPP开发赋能实体行业的实践与探索
区块链·dapp开发
China_Yanhy2 天前
我的区块链运维日记 · 第 13 日:跨链惊魂 —— Layer 2 的“快”与“慢”
运维·区块链
voidmort2 天前
web3中的共识:PBFT、Tendermint 与 DAG 共识
web3·区块链