利用mocha进行以太坊智能合约编译部署测试
使用智能合约编程语言solidity编写的智能合约,除了可以直接通过以太坊的工具链truffle,ganache-cli进行测试之外,还可以结合mocha进行单元测试。 mocha单元测试本质上,还是需要对合约进行编译、部署,只不过可以通过代码的形式进行直观的操作,而不是通过truffle命令来进行编译、部署、测试。 首先,构建工程,我们可以根据构建node项目的方式构建: 添加依赖:package.json "dependencies": { "ganache-cli": "^6.12.2", "mocha": "^8.2.1", "solc": "^0.4.26", "web3": "^1.3.3" } 项目结构这里简单遵循以太坊项目的结构建立一个contracts文件夹,用来保存合约。然后在contracts目录下新建HelloWorld.sol pragma solidity ^0.4.23; contract HelloWorld{ string public name; constructor(string _name) public{ name = _name; } function getName() public view returns(string){ return name; } function changeName(string _name)