前言
在前端开发中,测试是一个非常重要的环节。而在测试中,对于 WebAssembly,我们可以通过一款测试框架 As-pect 来进行测试。
As-pect 是基于 AssemblyScript 开发的测试框架,可以帮助我们在 WebAssembly 中进行单元测试。而在 As-pect 的测试中,@as-pect/core 包是核心之一,本文将详细介绍如何使用该包进行测试。
安装
安装命令如下:
npm install --save-dev @as-pect/core
使用
配置
在进行测试之前,我们需要进行一些配置。
在 package.json 文件中,我们需要加上以下的内容:
-- -------------------- ---- ------- ---------- - ------- ----- ------------- ----------------------- -------- - ----------------- -- -------- - ---------------- -- --------------- ------ -------------- ----- -------- ------ --------- -- --------- ------------------ ------- ------ --------- --- ---------- ------ ----------- ----------------- -
配置项的解释如下:
bail
:在测试失败后,是否立即终止测试binaryPath
:WebAssembly 模块相对于 package.json 的相对路径files
:测试文件扫描的位置flags
:测试时使用的额外标记outputBinary
:是否在测试时将编译后的模块文件输出到控制台performance
:是否展示测试的性能指标quiet
:是否只显示测试结果汇总repeat
:执行每个测试文件的次数runner
:测试运行模式skip
:是否跳过测试suites
:需要测试的套件timeout
:每项测试的超时时间tsconfig
:TypeScript 配置文件位置
在 TypeScript 中,我们需要在测试脚本的头部加上以下的引用:
/// <reference types="@as-pect/core" />
测试
在测试脚本中,我们需要引入 @as-pect/core
包,并在文件的头部使用 @suite
来标识测试套件的开始,使用 @test
来标识测试用例的开始。示例代码如下:
-- -------------------- ---- ------- ------ - ------ ---- - ---- ---------------- ------ ------ ----- -------- - ----- ------ -- - - - ----- ---- - -- ---- - -
在 test
中我们可以书写我们需要测试的代码,并且调用 expect
函数来进行预期值的判断。expect
函数用法如下:
expect<T>(received: T): IExpect<T>;
其中,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 test
或者使用 npm 脚本,即在 package.json 中加上以下内容:
"scripts": { "test": "as-pect" },
之后我们执行 npm run test
就相当于执行 as-pect
命令。
运行结果如下:
-- -------------------- ---- ------- -------- - - - - - - - -------- - - -- -------- - ---- -- --- ------- - --------- -- --- ------- - -------- -- ---- ------ -------- - ----- -- ---- ---- - --------- - -------- --- - ----- ------------ ------- -- ------ ------ -- ------ ------- -- -------- ------ -- --------
我们可以看到测试通过,并且展示了测试时间和性能指标。
结语
本文详细介绍了如何使用 @as-pect/core 包进行 WebAssembly 的单元测试。通过测试,我们可以保证代码的可靠性和运行效率,为项目的开发和运维提供保障。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f1cd6c0403f2923b035c559