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就可以了,或者以内联的方式在测试用例里面设置模拟函数的实现也可以。

相关推荐
桜吹雪2 小时前
Langchain.js官方文档:构建具备按需加载技能的 SQL 助手
javascript·人工智能·node.js
han_2 小时前
一篇看懂国内外主流大模型:GPT、Claude、Gemini、DeepSeek、通义千问有什么区别?
前端·人工智能·llm
一行代码一行诗++2 小时前
注释是什么和注释该怎么写(C语言)
java·前端·javascript
涂兵兵_青石疏影2 小时前
beginPath-vs-save详解
前端
陈振wx:zchen20082 小时前
前端-面试题-JavaScript
javascript·前端面试题
Forever7_2 小时前
Vue 全局监控用户行为,最强方案!
vue.js
泽_浪里白条2 小时前
我在 Superset 6.x 做自定义图表 + Embedded SDK 集成的实战复盘(附踩坑清单)
前端·数据可视化
幽络源小助理2 小时前
小六壬排盘工具源码 自适应双端 纯原生HTML+JS
前端·javascript·html
Championship.23.243 小时前
Open Source Pipeline Skill深度解析:自动化开源贡献全流程
前端·javascript·html
Bigger3 小时前
🧠 前端岗位的"结构性调整":现象背后的冷思考
前端·程序员·ai编程