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

相关推荐
renke3364几秒前
写给前端的 CANN-torchtitan-npu:昇腾PyTorch Titan适配到底是啥?
前端·人工智能·pytorch·cann
lihaozecq3 分钟前
Agent 开发的 skills 机制设计 - 渐进式披露
前端·agent·ai编程
安妮的小熊呢6 分钟前
CRMEB标准版v6.0: 商城DIY装修新升级,PS级自由设计!
运维·javascript·平面·信息可视化·小程序·开源软件
安生生申6 分钟前
uni-app 连接 JDY-31 蓝牙串口模块实践
c语言·前端·javascript·stm32·单片机·嵌入式硬件·uni-app
Restart-AHTCM11 分钟前
LangChain学习之模型 I/O 与输出解析器 (Output Parsers)(3/8)
前端·学习·langchain
Liu.77411 分钟前
Vue3结合Element Plus封装点击查看大图的自定义指令
javascript·vue.js·elementui
lqj_本人12 分钟前
鸿蒙PC:electron-markdownify 从普通 Electron 迁移到 OpenHarmony Electron HAP 的完整实践
前端·javascript·electron
代码搬运媛8 小时前
Jest 测试框架详解与实现指南
前端
counterxing9 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq9 小时前
windows下nginx的安装
linux·服务器·前端