什么是 jest-matchers?
jest-matchers 是一个 Jest 框架下的 npm 包,可以用于进行一些常见的测试操作,例如对于数值的大小、字符串的相等性或对象的属性等进行判断。同时 jest-matchers 支持自定义的 matcher,即通过编写用户自己的代码来扩展功能。
安装 jest-matchers
在使用 jest-matchers 之前,需要在项目中安装,并且进行相关的配置,步骤如下:
1. 进入项目的根目录,使用 npm 安装 jest 包:
npm install --save-dev jest
2. 安装 jest-matchers 包:
npm install --save-dev jest-matchers
3. 在项目根目录下创建 jest.config.js 文件:
-- -------------------- ---- ------- -------------- - - --------- - ------------------------- ------ -------- - ----- ---- - -------- -- ----- -- -------- -- -------- -- ------ - ------ - -------- -- -- --------- ----------- --- -- -- ------ ----- -------- - ------------ ----- ----- -- - ---- - ------ - -------- -- -- --------- ----------- -- -- ------ ----- -------- - ------------ ----- ------ -- - -- -- --
使用 jest-matchers
jest-matchers 中包含了一些常用的 matcher,例如 toBe、toEqual、toBeTruthy、toBeFalsy 等,同时也可以使用自定义的 matcher。
toBe
toBe 用于比较两个变量是否相等,如果两个变量的值相等,则测试通过;否则测试失败。
示例代码:
test('two plus two is four', () => { expect(2 + 2).toBe(4); });
toEqual
toEqual 用于比较两个变量的值是否相等,如果两个变量的值相等,则测试通过;否则测试失败。
示例代码:
test('object assignment', () => { const data = {one: 1}; data['two'] = 2; expect(data).toEqual({one: 1, two: 2}); });
toBeTruthy
toBeTruthy 用于判断一个变量是否为真值,如果该变量为真,则测试通过;否则测试失败。
示例代码:
test('null', () => { const n = null; expect(n).toBeFalsy(); expect(n).not.toBeTruthy(); });
toBeFalsy
toBeFalsy 用于判断一个变量是否为假值,如果该变量为假,则测试通过;否则测试失败。
示例代码:
test('zero', () => { const z = 0; expect(z).toBeDefined(); expect(z).not.toBeUndefined(); expect(z).not.toBeTruthy(); expect(z).toBeFalsy(); });
自定义 matcher
在创建 jest.config.js 文件时,可以编写自己的 matcher,并将其添加到项目中。
示例代码:
-- -------------------- ---- ------- ----- -------------- - - ------------------------- --------- - ----- ---- - -------- - -------- --- -- -- ------ - ------ - -------- -- -- --------- ----------- --- -- -- --------- -- ------------- ----- ----- -- - ---- - ------ - -------- -- -- --------- ----------- -- -- --------- -- ------------- ----- ------ -- - -- -- ------------------------------ ---------- --- --- --------- -- -- - ------------------------------- ----------------------------------- ---
总结
jest-matchers 是一个很好用的 Jest 框架下的 npm 包,可以用于进行一些常见的测试操作,其中包含了一些常用的 matcher,同时也支持自定义 matcher,可以通过给项目添加用户自己的代码来扩展功能。具体使用方法可以详细了解上述内容,方便进行相关的单元测试工作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f1bb7a5403f2923b035c4f0