jest使用__mocks__设置模拟函数不生效 解决方案

模拟文件

javascript 复制代码
// __mocks__/axios.js
const axios = jest.fn();
axios.get = jest.fn();
axios.get.mockResolvedValue({
  data: {
    undoList: ['get data'],
  },
});
export default axios;

测试文件

javascript 复制代码
jest.mock('axios');
import Axios from 'axios';

test('mytest', () => {
  console.log("test before", Axios.get()); // 显示undefined
})

原因

jest.config.js中resetMocks为true时,会在每个测试用例开始前清空所有模拟函数的实现。

javascript 复制代码
// jest.config.js

module.exports = {
  // ...
  "resetMocks": true,
};

将resetMocks改为false就可以了,或者以内联的方式在测试用例里面设置模拟函数的实现也可以。

相关推荐
文阿花13 分钟前
Echarts实现自定旋转3D饼状图
javascript·3d·echarts·饼状图
San813_LDD24 分钟前
[深度学习] 数据序列化格式对比:以日志级别配置为例
xml·java·前端
meilindehuzi_a1 小时前
深入理解 JavaScript 的同步与异步机制:从单线程设计到 Promise 核心应用
开发语言·javascript·ecmascript
如烟花的信页1 小时前
加速乐cookie逆向分析
javascript·爬虫·python·js逆向
永远的WEB小白1 小时前
css改变svg图标的颜色
前端·javascript·css
lfwh1 小时前
探针程序技术解析:基于 Spring Boot 非 Web 模式的云服务监控告警系统
前端·spring boot·后端
Ajie'Blog1 小时前
AI 周报 | Claude Opus 4.8、Copilot Agent 和 Codex 工作流加速
前端·人工智能·gpt·ai·copilot·ai编程
sugar__salt1 小时前
深入吃透前端线性数据结构:数组、栈、队列、链表核心原理与实战
前端·数据结构·链表
ikoala1 小时前
Codex 不得不装的 12 个插件,都在这了
前端·javascript·后端
道友可好2 小时前
用 Linter 驾驭 AI:机械化执行的艺术
前端·人工智能·后端