当前位置: 首页 > news >正文

前后端分离架构中接口测试最佳实践

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

背景

你是否遇到过这种情况:前后端分离体系中,后端开发人员通知你接口有改动,前端代码需要做相应调整。but,改了啥没有明确说明,这时候需要一个个页面去点击,一个个按钮去人肉测试,好不费事。

接口变动主要分两种:

  • 接口名称变化(导致接口请求失败);
  • 接口返回的数据结构变化(添字段或者删字段)。

通过编写测试代码,只要输入 npm run test 即可自动测试接口是否正常,这是本文要解决的问题。

tein

读音:[tai-ing](test-interface,取两个单词前两个字符组成),一个简短的接口测试脚本。本来想拿现成的测试框架 Jest 在上面修修改改,后来想了想要做的事非常简单,代码全部码好也不超过 400 行。

思路:

  • 提前写好接口返回数据的数据结构。tein 提供命令行工具 $ tein ui ,会创建一个网页自动转换数据结构;
  • 内部利用 axios 发请求判断接口名称是否变化,请求失败八成是接口名字又改了;
  • 接口请求成功后,将返回值再一次进行数据结构转换,与第一步写好的结构进行对比,判断是否变化。

transform.gif

运行效果如下,有字段修改的会以不同颜色标识出来,方便定位。

dein.gif

如果你的项目也需要对接口进行测试,不妨体验一波。=> tein quick-start。

对于 outh2 请求,需要先拿到 token,之后每个请求都需要携带 token 进行请求,tein 也做了相应处理。具体 demo 参考 fixture-object-oauth2 与 issue#1。

有更好的处理方式,欢迎下方留言。

转载于:https://my.oschina.net/dkvirus/blog/2998826

相关文章:

  • js闭包与高阶函数
  • java知识点1(this指针)
  • Confluent 修改开源许可证,限制云供应商滥用
  • vagrant设置虚拟机的名字
  • 寒假作业安排及注意点
  • 团队管理 - 团队发展五阶段
  • 线性代数---范数
  • Delphi 调用C#编写的WebService 参数为Null解决方法
  • BZOJ 1449 球队收益(最小费用最大流)
  • PHP学习笔记2
  • (原創) 未来三学期想要修的课 (日記)
  • 【转载】一个Sqrt函数引发的血案
  • webgis与web
  • 《围城》读后感:你的心是一座城,愿你城中有幸福
  • 2018年香港国际机场三项航空交通量均创新高
  • JavaScript-如何实现克隆(clone)函数
  • extract-text-webpack-plugin用法
  • Javascript 原型链
  • Joomla 2.x, 3.x useful code cheatsheet
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Vue小说阅读器(仿追书神器)
  • Wamp集成环境 添加PHP的新版本
  • WePY 在小程序性能调优上做出的探究
  • 关于springcloud Gateway中的限流
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端性能优化--懒加载和预加载
  • 数据科学 第 3 章 11 字符串处理
  • 数组大概知多少
  • 06-01 点餐小程序前台界面搭建
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​低代码平台的核心价值与优势
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • (175)FPGA门控时钟技术
  • (arch)linux 转换文件编码格式
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (顺序)容器的好伴侣 --- 容器适配器
  • (一)Linux+Windows下安装ffmpeg
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .net操作Excel出错解决
  • .NET中winform传递参数至Url并获得返回值或文件
  • /var/lib/dpkg/lock 锁定问题
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @ModelAttribute使用详解
  • @RequestMapping-占位符映射