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

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

相关推荐
swan41615 小时前
SCAU期末笔记 - 区块链原理与技术主观题库
笔记·区块链
Yyyyy123jsjs18 小时前
外汇 API 是什么?从行情接口到量化研究的完整视角
区块链
changlianzhifu11 天前
数字人民币迈入2.0时代:计息功能开启支付新纪元
区块链
MicroTech20251 天前
微算法科技(NASDAQ :MLGO)基于量子零知识证明的区块链共识机制:重构分布式信任的技术革命
科技·区块链·零知识证明
爱思德学术2 天前
中国计算机学会(CCF)推荐学术会议-C(软件工程/系统软件/程序设计语言):IEEE COMPSAC 2026
人工智能·区块链·软件工程
公链开发2 天前
重塑链游开发:达普韦伯如何成为技术背后的坚实支柱
区块链
2501_921649492 天前
股指期货 API 入门指南:如何获取实时行情与构建交易系统
python·websocket·金融·区块链·restful
2503_946971862 天前
【FullStack/ZeroDay】2026年度全栈魔法架构与分布式恶意节点清除基准索引 (Benchmark Index)
分布式·网络安全·架构·系统架构·区块链·数据集·全栈开发
CryptoRzz2 天前
印度交易所 BSE 与 NSE 实时数据 API 接入指南
java·c语言·python·区块链·php·maven·symfony
2503_946971862 天前
【P2P/Blockchain】2026年度去中心化P2P协议与不可变智能合约审计基准索引 (Benchmark Index)
网络安全·区块链·数据集·架构设计·分布式系统