You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vitest中获取模拟函数的所有调用记录?

获取Jest Mock函数的所有调用实例及参数

在Jest中,你可以直接通过mock函数的mock.calls属性来获取所有调用的参数列表,功能和Sinon里的spy.args完全一致。

示例用法

针对你提到的services.paidProjectAnalytics.logFirstPaymentReceivedEvent这个mock函数,获取所有调用及参数的代码如下:

// 获取全部调用的参数集合(二维数组,每一项对应一次调用的参数数组)
const allCallArgs = services.paidProjectAnalytics.logFirstPaymentReceivedEvent.mock.calls;

// 遍历查看每一次调用的参数
allCallArgs.forEach((args, callIndex) => {
  console.log(`第${callIndex + 1}次调用参数:`, args);
});

额外说明

  • mock.calls是一个二维数组:比如某次调用传入了两个参数,对应的数组项就是[参数1, 参数2]
  • 单独获取某一次调用的参数:比如取第一次调用的参数,用mock.calls[0]即可
  • 如果需要获取每次调用时mock函数的this上下文,可以用mock.instances属性

内容的提问来源于stack exchange,提问作者Gajus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 21:22:00