npm 包 @as-pect/core 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

前言

在前端开发中,测试是一个非常重要的环节。而在测试中,对于 WebAssembly,我们可以通过一款测试框架 As-pect 来进行测试。

As-pect 是基于 AssemblyScript 开发的测试框架,可以帮助我们在 WebAssembly 中进行单元测试。而在 As-pect 的测试中,@as-pect/core 包是核心之一,本文将详细介绍如何使用该包进行测试。

安装

安装命令如下:

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

使用

配置

在进行测试之前,我们需要进行一些配置。

在 package.json 文件中,我们需要加上以下的内容:

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

配置项的解释如下:

  • bail:在测试失败后,是否立即终止测试
  • binaryPath:WebAssembly 模块相对于 package.json 的相对路径
  • files:测试文件扫描的位置
  • flags:测试时使用的额外标记
  • outputBinary:是否在测试时将编译后的模块文件输出到控制台
  • performance:是否展示测试的性能指标
  • quiet:是否只显示测试结果汇总
  • repeat:执行每个测试文件的次数
  • runner:测试运行模式
  • skip:是否跳过测试
  • suites:需要测试的套件
  • timeout:每项测试的超时时间
  • tsconfig:TypeScript 配置文件位置

在 TypeScript 中,我们需要在测试脚本的头部加上以下的引用:

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

测试

在测试脚本中,我们需要引入 @as-pect/core 包,并在文件的头部使用 @suite 来标识测试套件的开始,使用 @test 来标识测试用例的开始。示例代码如下:

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

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

test 中我们可以书写我们需要测试的代码,并且调用 expect 函数来进行预期值的判断。expect 函数用法如下:

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

其中,received 是我们需要进行判断的值,IExpect 是测试断言库,提供了一系列的判断函数。比如:

  • .toBe<T>(expected: T): IExpect<T>;:判断结果是否与期望结果相等
  • .toBeNaN(): IExpect<T>;:判断结果是否是 NaN
  • .toBeDefined(): IExpect<T>;:判断结果是否被定义
  • .toBeFalsy(): IExpect<T>;:判断结果是否为假值
  • .toBeGreaterThan<T>(expected: T): IExpect<T>;:判断结果是否大于期望值
  • .toBeLessThan<T>(expected: T): IExpect<T>;:判断结果是否小于期望值
  • .toBeNull(): IExpect<T>;:判断结果是否为 null
  • .toBePositiveInfinity(): IExpect<T>;:判断结果是否为正无穷
  • .toBeTrue(): IExpect<T>;:判断结果是否为 true
  • .toBeUndefined(): IExpect<T>;:判断结果是否为 undefined
  • .toThrow(expected?: any): IExpect<T>;:判断测试中的代码是否抛出了异常

示例代码:

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

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

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

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

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

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

运行测试

在配置和编写完测试代码后,我们就可以开始运行测试了。

运行命令如下:

--- ----

或者使用 npm 脚本,即在 package.json 中加上以下内容:

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

之后我们执行 npm run test 就相当于执行 as-pect 命令。

运行结果如下:

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

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

我们可以看到测试通过,并且展示了测试时间和性能指标。

结语

本文详细介绍了如何使用 @as-pect/core 包进行 WebAssembly 的单元测试。通过测试,我们可以保证代码的可靠性和运行效率,为项目的开发和运维提供保障。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f1cd6c0403f2923b035c559


猜你喜欢

  • npm 包 @as-pect/cli 使用教程

    前言 在进行前端开发和测试时,我们通常需要测试我们的代码是否正确和性能是否达标。其中,性能测试是非常重要的,而如何进行性能测试则是一个值得探讨的话题。 在这篇文章中,我们将介绍 npm 包 @as-p...

    4 年前
  • npm 包 rabin 使用教程

    在前端开发中,经常会遇到需要进行加密和解密的情况。而在这个过程中,rabin 算法就是一个比较高效的选择。本文将向您介绍 npm 包 rabin 的使用教程,让您可以快速学习和掌握这一算法的使用方法。

    4 年前
  • NPM 包 rabin-wasm 使用教程

    可能你已经听过 rabin 算法,这是一种快速分割大文件为多个固定大小的小块的技术,用于实现断点续传和分块上传等场景。在前端开发中,使用 rabin 算法来分割文件可以大幅度缩短上传时间,提高用户体验...

    4 年前
  • npm 包 ipfs-unixfs-importer 使用教程

    什么是 ipfs-unixfs-importer? ipfs-unixfs-importer 是一个用于将 Unix 文件系统转换为 IPFS 的 JavaScript 库。

    4 年前
  • npm 包 @truffle/events 使用教程

    在前端和后端开发中,npm 是必不可少的工具箱之一。 npm 包 @truffle/events 是一个 Node.js 模块,提供了一种简单的方式来处理事件和处理程序。

    4 年前
  • npm 包 @types/lodash.assignin 使用教程

    简介 在前端开发中,我们经常需要使用到 Lodash 库的 assignin 方法。该方法用于将一个或多个对象的属性复制到目标对象上。而在 TypeScript 项目中使用该方法时,则需要先安装 @t...

    4 年前
  • npm 包 @truffle/config 使用教程

    前言 在前端开发中,我们常常需要使用一些工具和框架来提高开发效率和项目质量。其中,使用 npm 包管理工具安装和使用第三方库已经成为前端开发中不可或缺的一部分。本文将介绍如何使用 npm 包 @tru...

    4 年前
  • npm 包 @truffle/require 使用教程

    介绍 @truffle/require 是一个用于导入智能合约和依赖的 npm 包。它是以太坊开发框架 truffle 的一部分。它能够处理 Solidity 合约引用的问题,其内部包含了依赖的解析器...

    4 年前
  • npm 包 @vivocha/scopes 使用教程

    介绍 在前端开发中,我们经常会使用各种 npm 包来辅助我们的开发工作。在这篇文章中,我们将会介绍一个叫做 @vivocha/scopes 的 npm 包,这个包能够帮助我们更好地管理不同环境下的配置...

    4 年前
  • npm 包 openapi-police 使用教程

    在开发前端应用程序时,使用 RESTful API 与服务端进行通信的需求是非常常见的。然而,由于接口文档的缺失或者错误,前端开发人员往往会遇到接口使用不当导致的错误,甚至无法快速找到错误的根本原因。

    4 年前
  • npm包 @vivocha/public-entities 使用教程

    简介 npm包 @vivocha/public-entities 是一个用于前端开发的实体管理库,它提供了常见实体的定义和管理功能,包括人员、客户、订单等。这个库的核心理念是将实体定义从具体应用中解耦...

    4 年前
  • NPM包Nowdoc使用教程

    介绍 Nowdoc是一种JavaScript模板字符串语法,可以保留所有空白和特殊字符,而不需要转义字符。Nowdoc允许开发人员将代码嵌入到字符串中,从而更容易地生成JavaScript代码。

    4 年前
  • npm 包 regextend 使用教程

    regextend 是一个基于正则表达式的 npm 包,通过该包可以在 JavaScript 中快速创建复杂的正则表达式。regextend 提供了一种可读性更好、可维护性更强的方法来编写和使用正则表...

    4 年前
  • npm 包 pausable 使用教程

    前端开发中经常会遇到需要暂停和恢复任务的情况,例如控制动画的播放,处理响应式 UI,调用 API 等。然而,JavaScript 是一门单线程语言,当任务大量耗时时,在任务执行期间可能会阻塞其他任务的...

    4 年前
  • npm 包 dotphp 使用教程

    如果你是一名前端工程师,那么你一定听说过 npm,这是一个非常流行的包管理工具,用于管理 JavaScript 程序库。npm 上有数百万的 npm 包,这些包可以在你的项目中使用,让你更加便捷地开发...

    4 年前
  • npm 包 nodealytics 使用教程

    在前端开发中,对于网站的数据统计及分析是非常重要的一环。而 nodealytics 就是一个便捷的 npm 包,可以帮助我们快速地进行 Google Analytics 统计,主要帮助我们实现以下功能...

    4 年前
  • npm 包 writefile 使用教程

    在前端开发中,有时需要在浏览器中创建和写入文件。虽然浏览器有 File API 可以用来访问本地文件系统,但是对于一些特定需求(如将数据保存到本地文件中),我们需要使用另一种方法。

    4 年前
  • npm包 sand-dollar 使用教程

    在前端开发中,我们经常会使用各种 npm 包来帮助我们实现某些功能,提高我们的开发效率。其中,一个非常实用的 npm 包是 sand-dollar。它可以帮助我们将数字转换为人民币金额格式,非常方便。

    4 年前
  • npm 包 @types/optimist 使用教程

    前言 在前端开发中,我们不仅要掌握各种框架和库的使用,还需要了解很多辅助性工具。比如,在开发 Node.js 应用时,我们需要使用 npm 包管理器来安装和管理各种模块。

    4 年前
  • npm 包 @types/escodegen 使用教程

    npm 包 @types/escodegen 使用教程 当我们需要在前端开发中使用 JavaScript 的代码生成功能时,一个非常好用的工具就是 escodegen。

    4 年前

相关推荐

    暂无文章