npm 包 expect-js-to-assert 使用教程

阅读时长 5 分钟读完

简介

在前端开发中,我们经常需要进行单元测试、集成测试等等,这时候需要用到断言库来判断测试结果是否符合预期。而 expect-js-to-assert 是一个简单易用的断言库,它可以让你的测试代码更加易读易维护。

本文将为大家介绍 expect-js-to-assert 的使用方法,包括安装、基本用法和高级用法。

安装

安装 expect-js-to-assert 很简单,只需要执行以下命令:

基本用法

引入库

在需要使用 expect-js-to-assert 的测试文件中,通过 require 引入该库:

基本断言

expect-js-to-assert 提供了一些基本的断言方法,例如:

  • expect(value).toBe(expectedValue):判断 value 是否等于 expectedValue。
  • expect(value).toBeGreaterThan(expectedValue):判断 value 是否大于 expectedValue。
  • expect(value).toBeLessThan(expectedValue):判断 value 是否小于 expectedValue。
  • expect(value).toBeNull():判断 value 是否为 null。
  • expect(value).toBeDefined():判断 value 是否已经定义。

例如:

异常断言

当测试代码中出现了错误或异常时,我们也需要进行断言。expect-js-to-assert 提供了一些异常断言方法,例如:

  • expect(() => throw new Error('Test error')).toThrowError():断言代码块会抛出异常。
  • expect(() => fn()).toThrow(TypeError):断言代码块会抛出指定类型的异常。

例如:

高级用法

expect.extend 语法

如果你需要自定义一个特定的断言方法,可以使用 expect.extend 方法。

例如,我们定义了一个 toBeWithinRange 方法,它可以判断一个数字是否在指定的范围内:

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

然后我们就可以使用这个自定义的断言方法:

expect.addSnapshotSerializer 语法

如果你需要对断言结果进行格式化输出,可以使用 expect.addSnapshotSerializer 方法。

例如,我们定义了一个 customSerializer 方法,它可以将 Object 对象转化成字符串输出:

然后我们就可以在测试代码里使用 toMatchSnapshot 方法来比对输出结果:

每次执行测试时,expect 将把自定义的工具函数转换成字符串,并存储到文件中,然后下次测试运行时,expect 将比对结果并输出到控制台。

总结

expect-js-to-assert 是一个简单易用的断言库,它可以让你的测试代码更加易读易维护。本文介绍了 expect-js-to-assert 的安装、基本用法和高级用法,并希望可以帮助广大前端开发者提高测试代码的质量和效率。

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

纠错
反馈