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

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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NeilNiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值