You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jest Mock Axios失效报错:TypeError: 无法读取undefined的mockImplementation属性

解决Jest Mock Axios时的TypeError问题

你的代码报错的核心原因是错误地将axios赋值为字符串"axios",而不是导入真实的axios模块。这导致axios.get为undefined,调用mockImplementation时自然抛出Cannot read properties of undefined错误。

修正后的代码

// 先正确导入axios模块
import axios from 'axios';

// Mock整个axios模块
jest.mock('axios');

// 为get方法设置mock响应逻辑
axios.get.mockImplementation((url) => {
    if(url === process.env.ENHANCED_CLAIM_STATUS_276_DETAILS){
        return Promise.resolve({ status: 200, data: claim_response_276 });
    }
    if(url === process.env.ENHANCED_VALUE_ADDS_277_DETAILS){
        return Promise.resolve({ status: 200, data: claim_response_277 });
    }
});

额外注意事项

  • 确保claim_response_276和claim_response_277变量已在测试文件中定义或导入,避免出现新的未定义错误。
  • 若项目使用CommonJS规范(require语法),导入方式改为const axios = require('axios');,Jest的mock写法保持不变。

内容的提问来源于stack exchange,提问作者learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:01:01