首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jest:模拟高阶函数

在Jest中,您可以使用jest.fn()方法创建一个模拟的高阶函数(Higher-Order Function, HOF)

假设我们有一个名为applyFunction的高阶函数,它接受一个函数作为参数,并将其应用于两个数字:

代码语言:javascript
复制
// applyFunction.js
function applyFunction(fn, a, b) {
  return fn(a, b);
}

module.exports = applyFunction;

要模拟此高阶函数并测试它如何传递给它的函数,我们可以这样做:

代码语言:javascript
复制
// applyFunction.test.js
const applyFunction = require("./applyFunction");

describe("applyFunction", () => {
  const mockFunction = jest.fn((a, b) => a + b);

  it("should call the given function with the provided arguments and return the result", () => {
    const result = applyFunction(mockFunction, 1, 2);
    expect(mockFunction).toHaveBeenCalledWith(1, 2);
    expect(result).toBe(3);
  });
});

在这个例子中,我们首先使用jest.fn()创建一个模拟的函数mockFunction,该函数接受两个参数并返回它们的和。然后,我们将这个模拟函数作为参数传递给applyFunction

在测试中,我们调用applyFunction并传递mockFunction12作为参数。然后我们使用expecttoHaveBeenCalledWith断言来检查mockFunction是否使用提供的参数被调用。最后,我们使用expecttoBe断言来检查applyFunction的返回值是否正确。

这样,我们就可以模拟一个高阶函数并验证它如何处理传递给它的函数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券