函数 expect

  • expect 函数在每次您想测试一个值时使用。您很少会单独调用 expect

    类型参数

    • T = any

    参数

    • actual: T

      要应用匹配器检查的值。

    返回 JestMatchers<T>

属性

not: InverseAsymmetricMatchers

方法

  • 添加一个模块,用于格式化应用程序特有的数据结构以便进行序列化。

    参数

    • serializer: Plugin_2

    返回 void

  • 匹配通过给定构造函数创建的任何内容。您可以在 toEqualtoBeCalledWith 内部使用它,而不是使用字面值。

    参数

    • classType: any

    返回 any

    function randocall(fn) {
    return fn(Math.floor(Math.random() * 6 + 1));
    }

    test('randocall calls its callback with a number', () => {
    const mock = jest.fn();
    randocall(mock);
    expect(mock).toBeCalledWith(expect.any(Number));
    });
  • 匹配除 null 或 undefined 之外的任何内容。您可以在 toEqualtoBeCalledWith 内部使用它,而不是使用字面值。例如,如果您想检查模拟函数是否以非空参数调用

    返回 any

    test('map calls its argument with a non-null argument', () => {
    const mock = jest.fn();
    [1].map(x => mock(x));
    expect(mock).toBeCalledWith(expect.anything());
    });
  • 匹配完全由所提供数组中的元素组成的任何数组。您可以在 toEqualtoBeCalledWith 内部使用它,而不是使用字面值。

    可选地,您可以通过泛型为元素提供类型。

    类型参数

    • E = any

    参数

    • arr: readonly E[]

    返回 any

  • 验证在测试期间是否调用了特定数量的断言。这在测试异步代码时通常很有用,以确保回调中的断言确实被调用了。

    参数

    • num: number

    返回 void

  • 在比较对象属性或数组项中的浮点数时很有用。如果您需要比较一个数字,请改用 .toBeCloseTo

    可选的 numDigits 参数限制了小数点后要检查的位数。对于默认值 2,测试标准是 Math.abs(expected - received) < 0.005 (即 10 ** -2 / 2)。

    参数

    • num: number
    • 可选numDigits: number

    返回 any

  • 您可以使用 expect.extend 向 Jest 添加您自己的匹配器。

    参数

    • obj: ExpectExtendMap

    返回 void

  • 返回 MatcherState & Record<string, any>

  • 验证在测试期间至少调用了一个断言。这在测试异步代码时通常很有用,以确保回调中的断言确实被调用了。

    返回 void

  • 匹配任何递归匹配所提供键的对象。这通常与其他非对称匹配器结合使用时很方便。

    可选地,您可以通过泛型为对象提供类型。这确保了对象包含所需的结构。

    类型参数

    • E = {}

    参数

    • obj: E

    返回 any

  • 参数

    • state: object

    返回 void

  • 匹配包含完全符合预期字符串的任何接收到的字符串

    参数

    • str: string

    返回 any

  • 匹配任何符合所提供字符串或正则表达式的字符串

    参数

    • str: string | RegExp

    返回 any