npm 包 @ethereum-waffle/chai 使用教程

阅读时长 4 分钟读完

简介

@ethereum-waffle/chai 是一个基于 chai.js 的扩展,主要针对以太坊合约的测试,提供了以太坊合约相关的常用断言和工具函数,方便开发者进行更加全面的测试。

本文将介绍 @ethereum-waffle/chai 的安装和使用,旨在帮助前端工程师更好地进行以太坊合约测试开发。

安装

使用 npm 进行全局安装:

或者在项目中安装依赖:

使用

@ethereum-waffle/chai 主要提供了以下几个方面的功能:

  • 断言
  • 工具函数

断言

1. expect 资产相等

语法 expect(foo)
描述 判断 foo 是否与另一个值 bar 相等
例子 expect(foo).to.equal(bar)

2. to.exist 和 to.not.exist

语法 expect(foo).to.exist / to.not.exist
描述 判断 foo 是否存在 / 不存在
例子 expect(5).to.exist

3. to.be.true 和 to.be.false

语法 expect(foo).to.be.true / to.be.false
描述 判断 foo 是否为 true / false
例子 expect(true).to.be.true

4. to.be.above 和 to.be.below

语法 expect(foo).to.be.above(bar) / to.be.below(bar)
描述 判断 foo 是否大于 / 小于 bar
例子 expect(5).to.be.above(3)

5. to.match

语法 expect(foo).to.match(regexp)
描述 判断 foo 是否符合正则表达式 regexp
例子 expect('hello').to.match(/h.*o/)

6. to.be.null

语法 expect(foo).to.be.null
描述 判断 foo 是否为 null
例子 expect(null).to.be.null

7. to.be.empty

语法 expect(foo).to.be.empty
描述 判断 foo 是否为空(对象、数组、字符串等)
例子 expect([]).to.be.empty

8. to.be.instanceOf

语法 expect(foo).to.be.instanceOf(bar)
描述 判断 foo 是否为 bar 实例
例子 expect(new String('hello')).to.be.instanceOf(String)

工具函数

@ethereum-waffle/chai 还提供了一些实用的工具函数,如以下示例所示:

-- -------------------- ---- -------
------ - ----- - ---- ------------------------
----- - ----------- ----------- - - ------

----------------- -------- -- -
    ---------- ------- ----- -- -- -
        ----- ------ - ------------------
        ------------------------------- -----------------------
    ---

    ----------- ------- ----- -- -- -
        ----- ------ - -----------------------------------
        -------------------- -------
    ---
---

总结

本文介绍了 @ethereum-waffle/chai 的安装和使用,重点介绍了它提供的断言和工具函数。希望读者可以在实际项目中尝试使用它,对于以太坊合约开发的测试起到一定的帮助和指导作用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedac3bb5cbfe1ea061098e

纠错
反馈