什么是 Mock 测试?

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: Mock 是在前后端分离开发中,用于模拟后端数据的工具,让前端能提前开发而无需等待真实接口。它的重要性在于加速协同开发,避免因数据延迟导致的阻塞。通过工具如 Apifox,可以创建请求,设定 Mock 参数和测试脚本,进行 Mock 测试以确保数据符合预期。了解 Mock.js 语法有助于更好地进行 Mock 测试。

什么是 Mock

Mock 的意思就是,当你很难拿到源数据时,你可以使用某些手段,去获取到跟源数据相似的假数据,拿着这些假数据,前端可以先行开发,而不需要等待后端给了数据后再开发。

Mock 的重要性

在现在 前后端分离 的时代,前后端如何效率更高地去完成协同开发,是一个大问题。

举个例子:

后端接口还没数据,前端要怎么去调试前端页面呢?总不能等后端有数据了再开发吧。。。

所以 Mock 重要性极高,可以让前端先行开发,而不需要等待后端有数据了再开发。

Mock 测试

Mock 功能的好处太多了,最主要的就是能让前端不用去等后端造假数据,让前端后端并行开发,但是 Mock 返回的数据也有可能不符合我们的预期,所以我们也需要严谨点,做一下 Mock 测试时很有必要的。

如何进行 Mock 测试

那么如何进行 Mock 测试呢?

当然是借助工具啦,市面上现成的工具不用白不用,下面简单实用 Apifox 来给大家演示下。

创建请求、完善 Mock 参数

点击添加按钮,填入对应的接口名称、接口URL、接口请求方法:

接着我们需要补充一下响应结构,并且补充一下响应每个字段的 Mock 表达式,Apifox 为我们提供了很多现成的 Mock 表达式,我们需要去选择这些 Mock 表达式:

  • name: @name
  • email: @email
  • url: @url("http")
  • hour: @now("hour")

设置测试脚本

然后我们需要校验返回的数据,比如,我写了两个测试的断言代码:

  • 测试 url 这个字段返回的数据是否符合 url
  • 测试 email 这个字段返回的数据是否符合 email

发送请求、得到断言结果

想要使用 Apifox 的 Mock 功能的话,我们需要选择本地 Mock 环境

最后点击发送,可以得到断言校验的结果,我们可以看到

  • url 字段的 Mock 数据符合预期
  • email 字段的 Mock 数据符合预期

知识扩展


相关文章
|
8天前
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
66 2
|
2月前
|
测试技术 数据库连接 数据库
提升软件测试效率与灵活性:探索Mock测试的重要性
【9月更文挑战第20天】在软件测试领域,提升测试效率与灵活性至关重要。Mock 测试通过模拟外部组件,使模块能独立测试,缩短测试周期;快速反馈机制让测试结果即时可见,加速问题修复;还能模拟异常情况和进行参数化测试,增强测试全面性与灵活性,从而显著提高软件质量和开发效率。
|
3月前
|
Java 测试技术
SpringBoot单元测试快速写法问题之区分链路环节是否应该被Mock如何解决
SpringBoot单元测试快速写法问题之区分链路环节是否应该被Mock如何解决
|
3月前
|
IDE Java 测试技术
单元测试问题之Mockito 3.4mock静态方法如何解决
单元测试问题之Mockito 3.4mock静态方法如何解决
60 1
|
3月前
|
Java 测试技术 API
Java 新手入门:Java单元测试利器,Mock详解
Java 新手入门:Java单元测试利器,Mock详解
158 1
|
3月前
|
Java 测试技术 数据库
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
SpringBoot单元测试快速写法问题之不想在PandoraBoot工程中Mock Dao层如何解决
|
3月前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之确定链路上的Mock点如何解决
SpringBoot单元测试快速写法问题之确定链路上的Mock点如何解决
|
4月前
|
测试技术
单元测试策略问题之Mock测试的问题如何解决
单元测试策略问题之Mock测试的问题如何解决
|
4月前
|
测试技术
详解单元测试问题之处理@Mock注解时mock对象的创建如何解决
详解单元测试问题之处理@Mock注解时mock对象的创建如何解决
41 1
|
3月前
|
测试技术 数据库 开发者
Python全栈测试开发Chapter11 Mock测试
总结起来,Mock测试是一种有效的隔离测试环境、提高测试效率的方法,它让我们能够在不依赖外部条件的情况下进行全面的单元测试。在Python全栈测试中,Mock的应用是一种非常实用的技能。
24 0

热门文章

最新文章

  • 1
    非阻塞 I/O:异步编程提升 Python 应用速度
    10
  • 2
    2024 Mysql基础与进阶操作系列之MySQL触发器详解(20)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    5
  • 3
    2024 RedisAnd Mysql基础与进阶操作系列(16-1)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    4
  • 4
    2024Mysql And Redis基础与进阶操作系列(13)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    7
  • 5
    2024Mysql And Redis基础与进阶操作系列(10)作者——LJS[你个IKUN还学不会嘛?你是真爱粉嘛?真是的 ~;以后别侮辱我家鸽鸽]
    6
  • 6
    2024 RedisAnd Mysql基础与进阶操作系列(15)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    5
  • 7
    2024Mysql And Redis基础与进阶操作系列(9)作者——LJS[含MySQL存储过程之局部、系统变量、参数传递、流程控制-判断/case具体详步骤;注意点及常见报错问题所对应的解决方法]
    8
  • 8
    2024 Mysql基础与进阶操作系列之MySQL触发器详解(21)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    8
  • 9
    2024 RedisAnd Mysql基础与进阶操作系列(19)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    7
  • 10
    2024 RedisAnd Mysql基础与进阶操作系列(18)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
    5