灾备测试_数据级灾备

灾备测试_数据级灾备灾备测试

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

          这里说的灾备测试主要指的是在我们测试过程中手工无法模拟,但是在用户使用产品的时候由于网络的原因又是会经常发生的情况,具体指的就是网络延时、请求失败、session失效等情况,下面我们就来看下针对这些情况我们该如何构造测试环境;

         整体思路:我们可以在页面上配置某个接口网络延迟,请求失败,session失效的几种情况选择,把这几种情况存储到一个表里面,如下:

灾备测试_数据级灾备

灾备测试_数据级灾备

针对网络延迟,我们可以通过thread.sleep的方式,而请求失败和session失效的情况,合作方的报文都会有相应的返回码,一般情况下我们模拟

这些情况都是设置相应的返回码,具体实现如下:

if(zbValue != null && zbValue.equals("delay")){
			BusinessIni iniDelayTime = new BusinessIni();
			iniDelayTime.setIniName(SessionKey.SRZB_PA_DT);
			iniDelayTime = busiConfigService.selectIni(iniDelayTime);
			int delayTimeValue = 1000;
			if(iniDelayTime != null){
				delayTimeValue = Integer.parseInt(iniDelayTime.getIniValue());
			}
			try {
				Thread.sleep(delayTimeValue);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		
		if (ini != null && zbValue != null && !zbValue.equals("failure")) {
			if(zbValue.equals("session")){
				retMap.put("resultCode", "S0003");
				retMap.put("resultMessage", "flow<" + flowId + ">不存在或已超时!");
			}else{
				String birthday = ini.getIniValue();
				if (birthday.equals(idNo)) {
					retMap.put("resultCode", "C0000");
					retMap.put("resultMessage", "续保确认成功");
				} else {
					retMap.put("resultCode", "C0006");
					retMap.put("resultMessage", "续保确认失败");
				}
			}
		} else {
			retMap.put("resultCode", "S0005");
			retMap.put("resultMessage", "数据校验失败");
		}

Jetbrains全家桶1年46,售后保障稳定 这部分实现都是在mock结果的过程中,所以如果需要接口返回期望的结果时,可以设置完后,再去调用mock接口,这时就可以得到期望的异常情况了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213380.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • npm 模块 移除_【已解决】npm卸载模块后该模块并没有从package.json中去掉[通俗易懂]

    折腾:期间,遇到一个奇怪的现象:用npmremovexxx或npmuninstallxxx后xxx并没有从package.json中去掉:➜HeadquarterReportgit:(permission-control)✗npmremoveelement-ui–async-validator@1.6.9node_modules/async-validator–babe…

    2022年4月10日
    70
  • 数据库的事务隔离级别总结[通俗易懂]

    数据库的事务隔离级别总结[通俗易懂]学习数据库的时候常常会接触到事务,ACID等概念,那么到底什么是数据库的事务,数据库事务又具有哪些特点,和ACID有怎样的关系,事务的隔离级别又是做什么的呢?。事务及其四大特性?事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit),它通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起。当在数据库中更改数据成功时…

    2022年5月13日
    55
  • Esp8266 mqtt 步进电机远程控制窗帘

    Esp8266 mqtt 步进电机远程控制窗帘使用28BYJ-48步进电机esp8266-12f(或nodemcu)mqtt基于arduinoIDE开发实现通过mqtt发送指令给wifi模块进而控制电机,电机拖动窗帘打开或闭合效果演示地址:链接搭建模型如何制作电动窗帘,牛人给你解释它的原理参考这个视频搭建窗帘模型模型搭建很重要就算电机能够稳定控制但是模型搭建的不好窗帘的打开和关闭都会受到影响电机要粘牢固…

    2022年6月23日
    43
  • DLL文件反编译(附:工具下载链接)

    DLL文件反编译(附:工具下载链接)前几天写程序的时候电脑突然坏了,代码没有提交,已经更新过了,也就是说写的东西,除了DLL文件之外没别的东西了,代码全都没了,突然灵光一闪,想到了反编译。说干就干。百度上搜了下反编译工具,发现一款名叫“Reflector”的歪果反编译文件的效果不错,接下来,下载,为了方便大家,我直接放在百度云里面了:链接:https://pan.baidu.com/s/1PfxKxKp57pTYnSR3ThlOIg提取码:ohx2复制这段内容后打开百度网盘手机App,操作更方便哦下载下来之后,解压完是这样的:

    2025年7月4日
    18
  • macOS U盘制作启动系统

    macOS U盘制作启动系统

    2021年7月8日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号