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

如何基于函数参数让Sinon Fake返回对应值?

使用Sinon Fake实现基于参数的返回值模拟

要替代旧版Sinon Stub的withArgs().returns()逻辑,你可以直接在Sinon Fake的自定义函数体内通过参数判断返回对应值,这是Fake的原生用法,更灵活且符合新版API的设计思路。

基础示例(匹配单个参数)

// 等效于 sinon.stub().withArgs("arg1").returns("val1")
const myFake = sinon.fake((arg) => {
  if (arg === "arg1") {
    return "val1";
  }
  // 可根据需求添加默认返回值,比如undefined
});

多参数匹配示例

如果需要匹配多个参数组合,直接扩展条件判断即可:

const myFake = sinon.fake((firstArg, secondArg) => {
  if (firstArg === "arg1" && secondArg === "arg2") {
    return "combinedVal";
  } else if (firstArg === "arg1") {
    return "val1";
  }
  // 默认返回逻辑
  return null;
});

说明

Sinon Fake本质是一个可自定义逻辑的函数,你可以在函数体内编写任意参数校验和返回逻辑,完全覆盖旧版Stub链式API的参数匹配场景,同时还能实现更复杂的自定义行为。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:05:17