一.一些为难前端的业务场景

在我的工作经历里,需要等待后端童鞋配合我的情形大概有以下几种:

a.我们跟外部有项目合作,需要调用到第三方接口

一般这种情况下,商务那边谈合同,走流程,等第三方审核,我们这边会直接开始开发,而这个时候还没有外部接口可以使用;或者是合同都谈妥了,但是第三方对接的工作人员排期还没有排到。总之是需要等。

b.活动抢节点上线

一个比较赶时间节点(如七夕,双十一)的活动需求下来,前后端同时开发,后端还没有开发完接口可以调试。

c.需要调用的接口很复杂。

本来我只需要一个简单的返回,但因为各种历史原因和业务分割等原因需要间接调用N个不同的复杂接口,导致这部分工作量非常大耗费时间很多,但又没有很大的价值。

这个时候我就偏向于选择mock,联调时就做得粗糙一点,然后等进入测试阶段,让测试同学给我暴露问题(测试童鞋请原谅我偷懒hahah)

现在给前端mock的软件也有很多,大家自己挑自己合适的就好。

其实mock工具都满足的需求都大同小异,关键在于能够模拟出一些业务场景里面具体的细节,细节减少你在重复的事情上花费的时间。

我个人现在用的是apifox(www.apifox.cn),比较起来优点是它能仿造出比较逼真的业务数据,我不用再去二次调整。

细节上节省的时间每天要是仔细去算,也有一两个小时的,省下来就是能提前下班的时长。

我这里只写一些我尝试过的在Apifox上mock数据的省时小技巧。

二.省时提效小tips

tips1:常用的返回参数封装成一个数据模型,用到直接填。

比如一个音乐软件,最常用到的返回数据可能是歌手数据和歌曲数据。

歌手数据包括:歌手头像,歌手姓名,性别,热门歌曲50首等信息;

歌曲数据包括:歌曲名称,大小,歌曲链接,专辑封面,所属歌手,歌词文件等信息。

如果每次设置返回值都需要重复设置上述字段,那么麻烦又耗时。

这时候可以将常用参数分别封装成一个数据类型,填返回值的时候直接填进去,这样接口返回就能返回相应的字段了。

tips2:数据采用高仿真数据,避免数据类型和显示的相关bug

之前我自己造假数据有时候会忽略了格式,只填数字或随便打几个中文字符填充,这样容易产生不必要的错误。

一是返回的数据会有格式校验,不符合的会报错,这时再回头修改浪费了时间;

二是不符合数据结构的展示也可能会出异常,如果后续还要用这个数据进行处理也会阻碍程序的正常运行。

别的软件没怎么细用我没法详细展开说。如果大家是用apifox这个软件来mock数据的话,它在返回数据类型那里提供了很多常用的数据类型以供填充。

大家在造数据时可以根据自己的业务类型造出更仿真的数据出来。

造数据实际上很麻烦又费时间。普通的如中文姓名的还好说,如果要造URL,邮编,16进制色值,域名,身份证号我经常得去检索一下数据规则才能造。

一般我是在这个软件填完返回参数后再进一步选择某类数据,apifox会自动生成符合相应数据结构要求的数据出来。

它可以支持基础的文本,身份证,ip地址,url这类数据也能仿造出来。

举个例子:我在返回值中分别设置了下列数据类型:

返回值数据如下,出来的是能用的“真”数据了。

tips3:边界场景给接口“打暗号”调试

apifox提供了一个高级mock功能:当用户在请求参数中填写的值符合特定的条件的时候,接口会返回特定的值。

我一般用这个功能来做边界场景的测试,比如说设置请求参数的值为none让接口返回空值;或者测试某个字段在各种长度下UI的表现是否正常。

tips4:错误码使用枚举类型,调试异常场景的兼容

另外有时候我们前端需要对后端返回的错误码进行兼容处理或者给到用户相关提示。

调试这个功能的时候我有一个比较取巧的方式是利用response参数设置里的高级设置。

将错误码以枚举值的形式填进去。测试当后端返回不同的错误码类型时,前端是否有相应的反馈。

tips5:有业务约束的设置更精准的返回值

在mock数据上,除了数据类型本身的约束,还存在着业务约束。

有时候虽然返回的数据类型是我们要的,符合数据格式了,但还可能不符合我们实际的业务场景。

举例:某个曲库里只有50000张album,但album返回值设置了integer,导致每次返回可能会超出曲库ID上限而返回异常值。但我是需要返回的东西来执行进一步操作的,我需要它正常返回。

此时可进入高级设置,设置好返回值的数值范围,从而使得返回的数据能符合我们的调试要求。

这些虽然是很小的功能点,但确实在实际业务里能给大家节省掉不少时间。

目前apifox这个软件我只用了mock功能,所以就先分享这么多,后续有其他可以提高效率省时省力的小tips我再分享给大家。

如果想下载的话可以直接去他们官网www.apifox.cn,软件目前还是免费的,直接下载就能用了。

前端必备,5大mock省时提效小tips,用了提前下班一小时的更多相关文章

  1. python提效小工具-统计xmind用例数量

    问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是xmind8没有自带的统计测试用例,其他版本的xmind有些自带节点数量统计功能,但也也不会累计最终的数量,导致统计测试工 ...

  2. 006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!

    作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 so ...

  3. 前端必备HTTP技能之HTTP请求头响应头中常用字段详解(转)

    作为一名前端开发人员,肯定少不了要和网络打交道,因为要从服务器端拉取数据,从服务端获取数据最常用的方式还是通过HTTP请求.给服务器发请求的时候有请求头,接受服务器响应的时候有响应头,客户端和服务器端 ...

  4. 前端,Java,产品经理,微信小程序,Python等资源合集大放送

    为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...

  5. 阿里巴巴如何进行测试提效 | 阿里巴巴DevOps实践指南

    编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...

  6. 前端必备:FastStoneCapture 和 Licecap

    前端必备:FastStoneCapture 和 Licecap FastStoneCapture这个软件非常小,只有2M多,并且其功能很强大,包括截图,录制视频,量尺,取色等等,对于前端工程师绝对是必 ...

  7. webpack入门--前端必备

    webpack入门--前端必备 什么是 webpack? webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来 ...

  8. Sublime编辑器 前端 必备插件

    sublime编辑器前端必备插件 下面这一行是Package Control包安装,它是sublime的插件包管理器.新安装的sublime 里没有Package Control,按一下ctrl+~, ...

  9. 极客Web前端开发资源大荟萃

    前端开发已经成为当前炙手可热的技术之中的一个.本周我们除了给大家带技术相关资讯,另一些技术人员经常使用的站点.希望大家不要错过我们本周的内容.原文来自:极客标签 为神马说敲代码是非常艰难的 程序猿 做 ...

随机推荐

  1. App内容分享

    1.发送文本内容 发送简单的数据到其他应用,比如社交分分享的内容,意图允许用户快速而方便的共享信息. //分享简单的文本内容 public void btnShareText(View view) { ...

  2. spring生成EntityManagerFactory的三种方式

    spring生成EntityManagerFactory的三种方式 1.LocalEntityManagerFactoryBean只是简单环境中使用.它使用JPA PersistenceProvide ...

  3. 【Linux】【Services】【Package】编译安装

    程序包编译安装:         testapp-VERSION-release.src.rpm --> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装:         ...

  4. js 长按鼠标左键实现溢出内容左右滚动滚动

    var nextPress, prevPress; // 鼠标按下执行定时器,每0.1秒向左移一个li内容的宽度 function nextDown() { nextPress = setInterv ...

  5. PowerDotNet平台化软件架构设计与实现系列(06):定时任务调度平台

    定时任务是后端系统开发中少不了的一个基本必备技能. 传统的实现定时任务的方式有很多种,比如直接使用操作系统的Timer和TaskSchedule,或者基于Quartz.HangFire.xxl-job ...

  6. 深入分析 Java ZGC

    传统的垃圾回收 CMS 与 G1 停顿时间瓶颈 ZGC 概览 深入 ZGC 原理 标记 Marking 着色指针 Reference Coloring Relocation 重映射和读屏障 Remap ...

  7. [BUUCTF]REVERSE——不一样的flag

    不一样的flag 附件 步骤 例行查壳儿,32位程序,无壳儿 32位ida载入,shift+f12检索程序里的字符串,看到了如图标记的字符串,加上下面又上下左右的选项,估计是道迷宫类型的题目 将迷宫字 ...

  8. .net 6 (.net core) 发布到linux docker中

    第一步:VMware 安装 虚拟机Linux系统,本文以 CentOS 为例 .

  9. LuoguP7911 [CSP-J 2021] 网络连接 题解

    Content 题目过于难解释,请前往题面查看.以下直接给出本题做法. Solution 入门组 T3 在我印象中向来都不是很容易能做出来的题目,但是今年这个 T3 不得不说还是挺好做的. 我们先不妨 ...

  10. CF1520D Same Differences 题解

    Content 给定 \(n\) 个数 \(a_1,a_2,\dots,a_n\),求有多少个二元组 \((i,j)\) 满足: \(i<j\). \(a_j-a_i=j-i\). 数据范围:\ ...