测试智能合约

测试智能合约

框架

Truffle 提供了一套标准的自动化测试框架,这就使得测试智能合约变得简单了。
这个框架允许你以两种不同的方式编写简单和可管理的测试:

  • 使用 JavaScript 编写,从外部来执行你的合约,就像应用一样。
  • 使用 Solidity 编写,进阶的外部执行合约,适用于 bare-to-the-metal(实在不知道怎么翻译) 场景。

两种测试方法都有各自的优缺点,下面两个板块将会详细讨论。

测试脚本位置

所有测测试脚本文件应该在 ./test/ 文件夹下。 truffle 只会运行
.js .es .es6 .jsx .sol 这些后缀的脚本,其他文件都会被忽略。

命令

运行所有测试脚本:

$ truffle test

指定特定文件运行测试脚本:

$ truffle test ./path/to/test/file.js

净室环境

Truffle 提供了一个净室环境来运行你的测试脚本。在针对Ganache或Truffle开发运行测试时,
Truffle 将使用高级的快照特性,以确保测试文件不会彼此共享状态。当与其他 Ethereum 客户端(如go-ethereum)运行时,
Truffle 将在每个测试文件开始时重新部署所有迁移,以确保您有一组新的合约要测试。

速度和可靠性方面的考虑

在运行测试脚本的时候 Truffle DevelopGanache 都比其他客户端要快。
此外,它们还包含一些特殊的特性,Truffle利用这些特性将测试运行时间提高了近90%。
作为一个通用的工作流,我们建议您在正常的开发和测试过程中使用 Ganache 或 Truffle Develop ,
然后在您准备部署到 live 或生产网络时,对 go-ethereum 或其他 Ethereum 客户端进行一次测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值