在我们做接口自动化数据库断言中可能会遇到如下场景:
在我们发送接口的请求之后,我们想要断言的数据库的某字段结果是中间状态,不是我们想要的最终状态,需要等待几秒钟或者几分钟后数据库的这个字段才会更新我们想要的最终状态,这种情况如果我们不做处理的话,数据库断言肯定是失败的。
在这里我主要是分享一下我在实际工作中遇到这种断言场景是如何处理的。
思路很简单,就是如果实际结果与预期不符,则等待固定时间后再次取结果与预期比较。也就是循环的去比较实际结果与预期结果。
下面是实现代码的思路:
boolean flag = false;//比较结果成功的标志位
int count = 0;
int allCount = 6;//总循环次数
//如果实际结果与预期不符,则等待固定时间后再次取结果与预期比较
while(count<allCount){
merTradeInfo = busiDataService.getMertradeInfoBySerial(serial);
try {
log.info("请求出款接口"