温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Jest与Jest Expect扩展

发布时间:2024-08-27 19:41:46 来源:亿速云 阅读:85 作者:小樊 栏目:编程语言

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:检查两个对象是否深度相等。
  • toBeTruthytoBeFalsy:检查值是否为真或假。
  • toBeNulltoBeUndefined:检查值是否为 nullundefined
  • toBeGreaterThantoBeLessThan:检查数字是否大于或小于给定值。
  • 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 的自定义匹配器,用于检查一个值是否在指定范围内。然后,在测试用例中使用这个匹配器来验证测试结果。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI