Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析
负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。
一、负载模块基本结构
一个典型的负载模块(如 workload.js
)包含以下基本结构:
'use strict';// 初始化函数(可选) module.exports.init = async function(contract, context, args) {// 测试前的初始化工作// 例如: 部署合约、初始化数据等 };// 运行函数(必须) module.exports.run = async function(contract, context, args) {// 主要的测试逻辑// 每次调用都会执行这个函数 };// 清理函数(可选) module.exports.end = async function(contract, context, args) {// 测试后的清理工作 };
二、负载模块核心参数
1. 输入参数
-
contract
: 合约实例(通过contractFactory.getContract()
获取) -
context
: 测试上下文,包含: