axios-mock-adapter使用

文章目录

  • 1. 安装 axios-mock-adapter
  • 2. 引入所需的库
  • 3. 创建一个模拟适配器实例
  • 4. 定义模拟响应
  • 5. 在你的代码中使用 axios
  • 6. 在测试或开发完成后清理模拟

axios-mock-adapter 是一个用于模拟 axios HTTP 请求的库。它允许你在测试或开发过程中,为 axios 实例提供模拟的响应,以便在没有实际后端服务的情况下进行前端功能的开发和测试。

1. 安装 axios-mock-adapter

首先,你需要安装 axios-mock-adapter。你可以使用 npm 或 yarn 来安装它:

注意:安装到开发环境!不要直接默认安装到

npm install axios-mock-adapter --save-dev  
# 或者  
yarn add axios-mock-adapter --dev

2. 引入所需的库

在你的测试文件或需要模拟请求的文件中,引入 axiosaxios-mock-adapter

import axios from 'axios';  
import MockAdapter from 'axios-mock-adapter';

3. 创建一个模拟适配器实例

接下来,你需要创建一个 MockAdapter 实例,并将其与你的 axios 实例关联起来:

// 创建axios实例
const service = axios.create({// axios中请求配置有baseURL选项,表示请求URL公共部分baseURL: import.meta.env.VITE_APP_BASE_API,// 超时timeout: 10000
})// 创建一个 MockAdapter 实例,并将其与你的 axios 实例关联起来
const mock = new MockAdapter(service);

4. 定义模拟响应

使用 mock 实例的 onGetonPostonPutonDelete 等方法来定义针对不同 HTTP 方法的模拟响应:

mock.onGet('/api/users').reply(200, {  users: [  { id: 1, name: 'John Doe' },  { id: 2, name: 'Jane Doe' }  ]  
});  mock.onPost('/api/users').reply(function (config) {  // 你可以访问请求的 config 对象,包括请求头和请求体  const { data } = config;  return [201, { id: data.id, name: data.name }]; // 返回状态码和响应数据  
});

建议使用单独一个mock文件夹,导入的形式来引入

// mock.js
export const MockGets = {'/captchaImage': {"msg": "操作成功","code": 200,"captchaEnabled": true,"uuid": "352f4bb7088d435dad641c34aad337c4"}
}// service.js
Object.keys(MockGets).forEach(function(key) {mock.onGet(key).reply(200, MockGets[key]);console.log(key + ": " + MockGets[key]);
});

5. 在你的代码中使用 axios

axios.get('/api/users')  .then(response => {  console.log(response.data); // 输出模拟的用户列表  })  .catch(error => {  console.error(error);  });

6. 在测试或开发完成后清理模拟

当你完成测试或开发,并希望使用真实的后端服务时,你需要确保移除或禁用所有的模拟。这通常是通过销毁 MockAdapter 实例或移除模拟定义来完成的。

mock.restore(); // 恢复所有模拟,使得 axios 请求将再次发往实际服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Solana主网使用自定义的RPC进行转账

1、引言 如果用 browser 连接主网的 RPC server 会收到 error code 403 message 為 Access forbidden, contact your app developer or supportrpcpool.com. 错误,因为主网的 RPC server 会检查 HTTP Header 如果判断出來是 browser 就会报告 403 錯誤。 要解決这…

【LeetCode热题100】53. 最大子数组和(数组)

一.题目要求 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 二.题目难度 中等 三.输入样例 示例 1: 输入:nu…

N 皇后 - 蓝桥杯?-Lua 中文代码解题第6题

n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 示例 1: 输入:n 4 输出:2 解释:如上图所示&…

吴恩达2022机器学习专项课程(一) 5.2 向量化(1) 5.3 向量化(2)

问题预览/关键词 什么是向量化?向量化的好处是?如何向量化多元线性回归函数的参数?如何在Python中向量化参数?计算机底层是如何计算向量化的?向量化示例 笔记 1.向量化 一种在数学和计算中广泛使用的概念&#xff…

[Mac]安装App后“XX已损坏,无法打开“

问题: “xx.app”已损坏,无法打开。你应该将它移到废纸篓。 解决: 终端输入sudo xattr -r -d com.apple.quarantine 后将Applications中对应的问题app拖入生成路径,然后执行。 $ sudo xattr -r -d com.apple.quarantine /Appli…

备战蓝桥杯(日益更新)(刷题)

备战蓝桥杯(日益更新)(刷题) 文章目录 备战蓝桥杯(日益更新)(刷题)前言:一、二分:1. acwing503 借教室:(二分 差分)2. ac…

使用列表递推实现螺旋矩阵

下面是使用列表递推实现螺旋矩阵的代码: def generate_spiral_matrix(n):# 创建一个大小为n*n的矩阵,初始值为0matrix [[0] * n for _ in range(n)]# 定义上下左右四个边界top, bottom, left, right 0, n - 1, 0, n - 1# 定义当前要填充的数字num 1w…

Socks5代理IP如何使用?详细教程解析

当我们在互联网上浏览网页、下载文件或者进行在线活动时,隐私和安全问题常常被提及。在这样的环境下,一个有效的解决方案是使用Sock5IP。本教程将向您介绍Sock5IP的使用方法,帮助您保护个人隐私并提升网络安全。 一、什么是Sock5IP&#xff1…

上线后菜单卡片未显示

上线后菜单卡片未显示 背景 需要开发儿童模式,对菜单、通知等页面根据年龄段进行隐藏。为了兼容二期需求,这次的开发划分了三个年龄段:14岁以下,14~17岁,18岁以上。 实现方式 涉及的表添加一个可见度字段&#xff…

Mybatis-Plus使用入门

Mybatis-Plus 一、Mybatis-plus的简介 官方文档的地址: MyBatis-Plus (一)什么是Mybatis-Plus Mybatis-Plus是一个Mybatis(opens new window)的增强工具,在Mybatis的基础上只做增强不做改变&#xff0c…

ChatGPT在日常生活与工作中的应用,以及Hulu AI 的探索之旅

ChatGPT在日常生活与工作中的应用,以及Hulu AI 的探索之旅 💬ChatGPT 的多面应用💬Hulu AI:一个AI工具聚合平台的探索平台优势为何选择Hulu AI?珍稀优惠 💬结束语 在数字化快速发展的当下,人工智…

冯喜运:4.11外汇黄金原油晚间行情分析及独家作家操作建议

【 黄金消息面分析】:周四(4月11日)亚市早盘,现货黄金窄幅震荡,周三金价从纪录高位下滑,盘中一度失守2320关口至2319.一线,收报2333附近,因此前强于预期的通胀数据削弱了美国提前降息的预期,美元…

go 使用pprof查看内存分布

一、引入依赖 "runtime/pprof""github.com/labstack/echo/v4" 二、在main方法中,新启一个协程,启动http接口 go func() {e : echo.New()e.POST("/api/mem", func(c echo.Context) error {log.Info("start export …

常见交通微观指标的中英文对照表

常见交通微观指标的中英文对照表: 车流量 - Vehicle Flow 截面流量 - Section Flow 车头时距 - Headway 车间距 - Spacing 平均旅行速度 - Average Travel Speed 占有率 - Occupancy 队列长度 - Queue Length 通行能力 - Capacity 饱和度 - Saturation 延误 - Dela…

尝试CSDN语法使用-2

尝试语法使用 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 强调文本 强调文本 加粗文本 加粗文本 标记文本 删除文本 引用文本 H2O is是液体。 210 运算结果是 1024。 项目 项目 项目 项目1项目2项目3 计划任务 完成任务

Python初级第二次作业

一、 def reverse(num):anumt0b0cnumwhile a//10>0:if a%10>0:t1aa//10print(t)for i in range(t,-1,-1):if c%100:b0else:b(c%10)*(10**i)c//10print(b) if bnum:return Trueelse:return Falsedef isPalind(num):kreverse(num)if kTrue:print(f"{num}是回文&…

uniapp 轮播列表一排展示3个,左右滑动,滑动到中间放大

一、效果展示 二、代码实现 1.html代码&#xff1a; <!-- 轮播 --><view class"heade"><swiper class"swiper" display-multiple-items3 circulartrue previous-margin1rpx next-margin1rpxcurrent0 change"swiperChange">&l…

60、ARM/汇编实现控制外设

一、编写汇编程序&#xff0c;实现控制外设三个LED灯闪烁 代码&#xff1a; .text .global _start _start: 要使三个灯闪烁 需要设置三个灯的管脚输出高电平对应到STM32MP157AAA的PE10、PF10、PE8使能GPIOE、GPIOF的外设时钟 它们对应的总线均为AHB4GPIOE在[4]位 GPIOF在[5]…

书生·浦语2.0(InternLM2)大模型实战--Day02 茴香豆 | 搭建RAG智能助理

视频地址&#xff1a;https://www.bilibili.com/video/BV1QA4m1F7t4/文档地址&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/huixiangdou/readme.md作业地址&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/huixiangdou/homework.md RAG 概述 R…

汇舟问卷:海外问卷怎么做?

最近美元升值了&#xff0c;但是想在国内赚取美金的途径很少&#xff0c;大多数人接触不到赚取美金的机会。目前汇舟问卷做的国外问卷调查就是一个赚取美金的机会。 操作步骤也比较简单&#xff0c;只需要先搭建好国外的ip环境&#xff0c;然后创建对应国家的人设&#xff0c;…