接口自动化之DataUtilPractice 类数据验证

来源:互联网 发布:快易数据恢复 编辑:程序博客网 时间:2024/06/06 10:06

验证结果数据与返回数据是否一致

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);    }}