五:用Mocha编写SimpleStorage.sol的测试
- 如果朋友有代码,工具,使用流程等不太清楚的,可用去专栏看看,专栏中有文章中所提及的具体使用方式。不太明白的朋友可以自己去看看~~ 瞬移专栏
实验目的
编写测试在部署智能合约的过程中可以说是最重要的一个环节!因为当我们的合约上链后具有不可更改性,所以前期通过大量测试来验证合约的好坏是非常重要的。使用mocha能让我们写出清晰的,可读性很强的测试。本章通过简单的测试,让大家对测试有一个概率,为后期的强化做好准备。
实验原理
- Mocha是一个功能丰富的JavaScript测试框架,使用mocha能提高开发人员的测试速度以及提升代码可读性。
开始条件
- 安装好基于windows系统的子系统wsl。默认安装ubuntu20.04。
- 安装好VS Code。
- nodejs
- ganache-cli
- ether.js
- VS code
- fs
实验过程
- 安装mocha
- 设置测试脚本
- 写测试
- 调用
实验步骤
- 使用yarn安装mocha,在test目录下安装。
yarn add --dev mocha
- 把mocha测试框架配置到package.json中
"scripts": {
"test": "mocha"
}
- 编写测试,下面我先给一个测试模板,大家可以先了解各个函数的作用,然后后面我会把测试代码放在文章末尾
const assert = require("assert"); //引入assert断言,对输出的内容进行判断
describe("要测试的功能或者合约", function () {
beforeEach(function () {
// 在这个块中的其他函数运行之前执行这个函数,那么我们
// 可以在这里面部署好我们的智能合约,那么在后面的it函数中都可以使用
// 要等待部署合约的返回,所以这个函数会被修改为异步
});
it("要测试的东西的描述", function () {
// 这里面是我们写的与智能合约交互的代码
// 因为是部署到链上的,所以我们会把函数改为异步函数,测试代码中会有体现
}