使用 Waffle 进行测试的基本流程及使用方法-文章来自问我社区

举报
问我学院 发表于 2022/03/20 13:13:53 2022/03/20
【摘要】 Waffle 是一款适配 ehter.js 的智能合约测试库。本样例演示了使用 Waffle 进行测试的基本流程及使用方法.Waffle 详细使用方法可以参考 Waffle 官网 , 对于不熟悉 Waffle 测试框架的开发者, 可以根据本样例进行基础的操作, 阅读样例代码, 形成初步的流程概念, 之后再参考官网进行更加深入的了解.

前言

Waffle 是一款适配 ehter.js 的智能合约测试库。本样例演示了使用 Waffle 进行测试的基本流程及使用方法.
Waffle 详细使用方法可以参考 Waffle 官网 , 对于不熟悉 Waffle 测试框架的开发者, 可以根据本样例进行基础的操作, 阅读样例代码, 形成初步的流程概念, 之后再参考官网进行更加深入的了解.

合约介绍

  • contract/SimpleToken.sol
    一个标准的 ERC20 合约, 实现了 ERC20 的所有接口, 用户可以使用这个合约进行 ERC20 代币的发放.

脚本介绍

test/simpleTokenTest.js
SimpleToken.sol 合约的单元测试代码. 这里只写了一个测试脚本, 实际开发中, 可以在 test 目录下, 针对不同的合约, 编写多个单元测试脚本, 之后使用 yarn test 命令即可执行 test 目录下所有的单元测试脚本.
在 simpleTokenTest.js 脚本中, 对 SimpleToken.sol 合约的各个接口进行简单的测试, 可以参考此样例编写其他合约的单元测试代码.

index.js
外部合约, 需要单独进行调用. 对应实际生产环境中, 当单元测试通过后, 就可以调用此脚本进行实际的生成操作.
此脚本名字自行进行定义, 这里是使用 index.js 进行指定

操作步骤

  • 1 安装依赖
yarn install
  • 2 编译合约
yarn build
  • 3 配置环境变量
cp .env.example .env

## 然后修改 .env ,在其中配置 PRIVATE_KEY 和 INFURA_ID
  • 4 执行测试
yarn test
  • 5 测试 index.js
node index.js

说明

在使用命yarn install命令,提示无法找到yarn命令时(比如在VMware上跑),可以尝试执行: 1. $ sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.rep 2. $ sudo yum install yarn

之后查看yarn 版本: $ yarn --versionyarn --version

  • 如果在windows上跑yarn test命令时,要把package.json文件中script脚本中test命令中的export命令修改为set命令,否则会报找不到命令。

修改前:

  "scripts": {
    "build": "waffle",
    "test": "export NODE_ENV=test && mocha --timeout 10000"
  },

修改后:

 

原文信息

原文转载自:问我学院,问我社区
原文链接:http://www.wenwoha.com/blog_detail-679.html

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。