Jest 是一个流行的 JavaScript 测试框架,它可以轻松地添加到任何 JavaScript 项目中。Jest 提供了丰富的 API 来编写和组织测试用例,同时还提供了强大的断言功能。
Jest Expect 是 Jest 的断言库,它提供了一系列用于验证测试结果的匹配器(matchers)。这些匹配器可以帮助你检查函数返回值、对象属性、数组长度等是否符合预期。
要使用 Jest Expect,首先需要在项目中安装 Jest:
npm install --save-dev jest
然后,在测试文件中引入 Jest,并使用 expect
函数进行断言:
const { expect } = require('@jest/globals');
test('adds 1 + 2 to equal 3', () => {
expect(1 + 2).toBe(3);
});
Jest Expect 提供了许多内置的匹配器,例如:
toBe
:检查两个原始值是否相等。toEqual
:检查两个对象是否深度相等。toBeTruthy
和 toBeFalsy
:检查值是否为真或假。toBeNull
和 toBeUndefined
:检查值是否为 null
或 undefined
。toBeGreaterThan
和 toBeLessThan
:检查数字是否大于或小于给定值。toContain
:检查数组或字符串是否包含特定元素或子字符串。toThrow
:检查函数是否抛出错误。此外,你还可以使用自定义匹配器来扩展 Jest Expect 的功能。自定义匹配器是一个返回布尔值的函数,它接受一个或多个参数,并根据这些参数的值判断测试是否通过。要创建自定义匹配器,可以使用 expect.extend
方法:
expect.extend({
toBeWithinRange(received, floor, ceiling) {
const pass = received >= floor && received <= ceiling;
if (pass) {
return {
message: () => `expected ${received} not to be within range ${floor} - ${ceiling}`,
pass: true,
};
} else {
return {
message: () => `expected ${received} to be within range ${floor} - ${ceiling}`,
pass: false,
};
}
},
});
test('value is within range', () => {
expect(5).toBeWithinRange(1, 10);
});
在上面的示例中,我们创建了一个名为 toBeWithinRange
的自定义匹配器,用于检查一个值是否在指定范围内。然后,在测试用例中使用这个匹配器来验证测试结果。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。