首页
学习
活动
专区
工具
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的返回值是否正确。

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

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

相关·内容

16分33秒

14_尚硅谷_React全栈项目_高阶函数与高阶组件

26分28秒

035_尚硅谷react教程_高阶函数_函数柯里化

19分6秒

尚硅谷_Python基础_89_高阶函数.avi

11分41秒

055_尚硅谷_Scala_函数式编程(三)_函数高级(二)_高阶函数(一)_函数作为值传递

4分34秒

056_尚硅谷_Scala_函数式编程(三)_函数高级(二)_高阶函数(二)_函数作为参数传递

12分58秒

058_尚硅谷_Scala_函数式编程(三)_函数高级(二)_高阶函数(四)_应用案例

5分55秒

057_尚硅谷_Scala_函数式编程(三)_函数高级(二)_高阶函数(三)_函数作为返回值

40分54秒

169-尚硅谷-Scala核心编程-高阶函数和Map映射.avi

23分54秒

React基础 事件与表单数据 4 高阶函数和函数柯里化 学习猿地

19分19秒

212-尚硅谷-Scala核心编程-高阶函数的介绍和使用.avi

7分59秒

037.go的结构体方法

16分8秒

人工智能新途-用路由器集群模仿神经元集群

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券