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
}
相关推荐
Cliven_1 天前
TypeScript Jest 单元测试 搭建
javascript·typescript·单元测试
丁卯4042 天前
golang单元测试
开发语言·golang·单元测试
爱上语文2 天前
Java后端开发单元测试
java·开发语言·单元测试
SomeB1oody3 天前
【Rust自学】11.9. 单元测试
开发语言·后端·rust·单元测试
SomeB1oody3 天前
【Rust自学】11.10. 集成测试
开发语言·后端·rust·单元测试·集成测试
昔我往昔3 天前
Spring Boot 支持哪些日志框架
spring boot·后端·单元测试
测试杂货铺3 天前
软件测试之单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
不能只会打代码3 天前
32单片机从入门到精通之测试与验证——单元测试(十五)
单片机·嵌入式硬件·单元测试·32单片机
林犀居士4 天前
H2数据库在单元测试中的应用
数据库·单元测试·h2·内存数据库
亦可呀5 天前
Maven核心与单元测试
单元测试·maven·依赖管理