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

微服务单元测试组件

背景

    微服务的调试,哪怕是简单问题,需要启动9个服务,ui/nginx 网关 应用 auth 基础数据服务 redis nacos 平台服务 ,效率差得不行,准备开发一个支持微服务环境的单元测试组件,

组件解决3个问题:

1 feign依赖,使用mock

2 权限和用户信息

3 切面,测试目标可带注解,方法前后执行切面

下面以代码解释测试组件的实现

测试容器

测试容器负责必要组件的构建和初始,主要是mock,容器标注@Compoenent,受spring管理,可以定义注解方法,支持测试目标的切面

上图,测试容器定义平台测试需要的注解,testee定义为Function,即测试代码是Function实现

测试示例

本节解释测试编写

上图是测试类的定义,

@EnableAspectJAutoProxy  示例需要切面,可以根据需要引入

GRPPlatformTestContainer 上一节介绍的测试容器,后面介绍使用

RemoteUpmsService 基础服务,需要mock的feign

CommonBizImpl 测试目标服务和组件

测试初始和释放

上图是测试的初始和释放,主要是mocking feign,即上面RemoteUpmsService方法返回的预设,测试中用到用户信息的预设

下图是测试中基础服务用到的两个方法的预设

上面方法返回null即可,比较简单,实际可能需要知道需要一些返回

上图是测试中的当前用户,使用spring security,在上下文设置预定的用户即可

上图是测试方法,分3部分,参数准备,测试,实现为function,执行和预期对比

http://www.dtcms.com/a/329893.html

相关文章:

  • 二分|回溯
  • 了解 Linux 中的 /usr 目录以及 bin、sbin 和 lib 的演变
  • C++算法·递推递归
  • 基于.Net Framework4.5 Web API 引用Swagger
  • HCIP——OSPF综合实验
  • 药房智能盘库系统:基于CV与时间序列预测的库存革命
  • 蓝蜂网关在雄安新区物联网建设中的关键应用
  • Vue内置组件全解析:从入门到面试通关
  • 用 OPC UA C# WinForm 的单节点订阅方法
  • 【个人项目】跑者天地—测试用例
  • AI搜索的极限优化、新兴技术、硬件加速、特定行业解决方案
  • [QtADS]解析demo.pro
  • 利用 Makefile 高效启动 VIVADO 软件:深入解析与实践
  • 十,算法-动态规划
  • 深入理解 Cookie 与 Session —— Web 状态保持详解与实战
  • 目标检测公开数据集全解析:从经典到前沿
  • Linux软件编程3.(文件IO和目录IO)
  • windows设置相对路径的快捷方式
  • 想要PDF翻译保留格式?用对工具是关键
  • h5bench(4)
  • MySQL——binlog刷盘机制
  • django name ‘QueryDict‘ is not defined
  • POST 请求内容类型
  • 移动应用渗透测试:API 接口漏洞的识别与利用技巧
  • Oracle归档日志的查询和定时删除
  • elasticsearch基础概念与集群部署
  • 【16】Transformers快速入门:Token Embedding
  • JavaSE高级-01
  • cuDNN详解,从什么是cuDNN到实际应用过程
  • 肖臻《区块链技术与应用》第十二讲:比特币是匿名的吗?—— 深入解析匿名性、隐私风险与增强技术