Jest单元测试相关

官方文档:jest 中文文档

1、模拟某个函数,并返回指定的结果

使用Jest测试JavaScript(Mock篇)

有这样一个需求,mock掉Math.random方法(0(包括)~1之间),使其返回指定的0.1:

javascript 复制代码
jest.spyOn(global.Math, 'random').mockReturnValue(0.1);
javascript 复制代码
test('when rate is 0~1, will not be sampled randomly', () => {
  jest.spyOn(global.Math, 'random').mockReturnValue(0.1);
  const result = sampler.shouldSample({
    ...SAMPLE_OPTIONS,
    options: { rate: 0.5 },
  });
  expect(result.decision).toEqual(true);
});

public shouldSample(config: Config): api.SamplingResult {
  const { rateDaily, rateCampaign } = this._options;
  const { options } = config;
  const rate = normalize(
    typeof options?.rate === 'number'
      ? options.rate
      : getCurrentRate(rateDaily, rateCampaign)
  );
  return { decision: rate !== NOT_SAMPLED_RATE && Math.random() < rate }; // 希望这里能指定返回true
}
相关推荐
bo521005 小时前
vue3单元测试-初步了解
vue.js·单元测试
棉晗榜20 小时前
C# .net core添加单元测试项目,依赖注入接口测试
单元测试·c#·.netcore
WangLanguager5 天前
2.4.1 ASPICE的编码与单元测试
单元测试
修炼者5 天前
Android单元测试
单元测试·android studio
偷萧逸苦茶7 天前
软件测试相关问题
单元测试·测试用例
sunshine__sun7 天前
单元测试基本步骤
单元测试
libo_202511 天前
HarmonyOS5 UI测试革命:基于ArkUI Inspector的组件精准定位策略
单元测试
libo_202511 天前
HarmonyOS5 全设备覆盖:在DevEco Cloud上自动测试Phone+TV+Watch三端兼容性
单元测试
libo_202511 天前
HarmonyOS5 端到端测试:从登录到支付的完整业务流程自动化验证
单元测试
libo_202511 天前
反逆向测试:验证HarmonyOS5应用防反编译能力的测试方法
单元测试