验证结果数据与返回数据是否一致
package com.second;
import com.alibaba.fastjson.JSON;
import javafx.beans.binding.ObjectBinding;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Created by Administrator on 2017/8/15 0015.
*/
public class DataUtilPractice {
/**
* 判断两个类型的值是否相等
*
* @return null
*/
//instanceof的含义是当前的值是不是这个类型,当前值的对象是不是instanceof 后面的一个子对象 返回来的值是什么类型 不确定可能是int string
public static Boolean isEquals(Object resultKeyValue, Object returnBodyKeyValue) throws Exception {
boolean objectFlag = false;
if (returnBodyKeyValue instanceof String) {
objectFlag = ((String) resultKeyValue).equalsIgnoreCase((String) returnBodyKeyValue);
} else if (returnBodyKeyValue instanceof Integer) {
objectFlag = ((Integer) resultKeyValue) == (Integer) returnBodyKeyValue;
} else if (returnBodyKeyValue instanceof Double) {
objectFlag = ((Double) resultKeyValue) == (Double) returnBodyKeyValue;
} else if (returnBodyKeyValue instanceof Short) {
objectFlag = ((Short) resultKeyValue) == (Short) returnBodyKeyValue;
} else if (returnBodyKeyValue instanceof Float) {
objectFlag = ((Float) resultKeyValue) == (Float) returnBodyKeyValue;
} else if (returnBodyKeyValue instanceof Long) {
objectFlag = ((Long) resultKeyValue) == (Long) returnBodyKeyValue;
} else if (returnBodyKeyValue instanceof Boolean) {
objectFlag = ((Boolean) resultKeyValue) == (Boolean) returnBodyKeyValue;
} else {
String r = JSON.toJSONString(resultKeyValue);
String r2 = JSON.toJSONString(returnBodyKeyValue);
objectFlag = r.equalsIgnoreCase(r2);
}
return objectFlag;
}
@Test
public void v1 () throws Exception {
String result = "{\n" +
" \"code\": 0,\n" +
" \"message\": \"获取数据成功\",\n" +
" \"author\": \"pp\",\n" +
" \"count\": 5,\n" +
" \"isLike\": 0,\n" +
" \"operator\": \"c-81\",\n" +
" \"sendTime\": \"2025-02-29 13:24:23\",\n" +
" \"success\": true\n" +
"}\n";
String returnBody = "{\n" +
" \"code\": 0,\n" +
" \"message\": \"获取数据成功\",\n" +
" \"author\": \"pp\",\n" +
" \"count\": 5,\n" +
" \"isLike\": 2,\n" +
" \"operator\": \"c-81\",\n" +
" \"sendTime\": \"2035-02-29 13:24:23\",\n" +
" \"success\": true\n" +
"}\n";
List<String> keyList = new ArrayList<String>();
keyList.add("code");
keyList.add("success");
keyList.add("sendTime");
Map resultMap = JSON.parseObject(result,Map.class);
Map returnBodyMap = JSON.parseObject(returnBody,Map.class);
String status = "";
for(String key : keyList){
status = "pass";
Object resultKeyValue = resultMap.get(key);
Object returnBodyKeyValue = returnBodyMap.get(key);
if(!DataUtil.isEquals(resultKeyValue,returnBodyKeyValue)){
status = "fail";
break;
}
}
System.out.print(status);
}
}