obj-compare 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
obj-compare 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
obj-compare 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache-2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 国产
投 递 者 osc_75384939
适用人群 未知
收录时间 2024-04-03

软件简介

obj-compare是一款基于Java反射的轻量级对象比较工具。不仅支持常见的POJO对象、集合对象、数组类型比较功能,也支持高度自定义比较定制等功能。

适用场景

  • 单测结果对比以及单测mock框架中参数匹配
  • 业务领域中快照对比记录
  • 测试领域数据对比
  • 文本/json内容对比
  • 一些需要自定义比较的场景

功能列表

  •  普通POJO、Boolean、Date、数组类型比较
  •  容器类List、Set、Map及其子类比较
  •  支持自定义类型比较
  •  支持自定义属性过滤
  •  循环依赖检查、宽松模式等特性

5分钟快速开始

引入Maven依赖

<dependency>
    <groupId>org.smartboot.compare</groupId>
    <artifactId>obj-compare</artifactId>
    <version>1.0.7</version>
</dependency>

示例代码

@Test
public void testCompareSimple() {
    User expect = new User();
    expect.setId("1");
    expect.setPassword("111212");
    expect.setUsername("Tom");
    expect.setSex("male");
    
    User target = new User();
    target.setId("2");
    target.setPassword("1112112");
    target.setUsername("Jerry");
    target.setSex("male");
    
    CompareResult result = CompareHelper.compare(expect, target);
    System.out.println(result);
    Assert.assertFalse(result.isSame());
}

结果输出

================   ProcessId : 3b8e5d0c-2b4d-45e8-ac0f-e1feeaff15d9   ===============
● Result      : false
● Options     :
● Differences : 3
● Recycle     : 0
● Escaped     : 173
● MaxDepth    : 1


difference details :
1:CommonDifference@ROOT.id, 期望值为 [1], 实际值为 [2]
2:CommonDifference@ROOT.username, 期望值为 [Tom], 实际值为 [Jerry]
3:CommonDifference@ROOT.password, 期望值为 [111212], 实际值为 [1112112]
================   ProcessId : 3b8e5d0c-2b4d-45e8-ac0f-e1feeaff15d9   ===============
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
08/26 00:34

obj-compare v1.1.3 已经发布,Java 对象对比工具

obj-compare v1.1.3 已经发布,Java 对象对比工具 此版本更新内容包括: 基本类型/包装类型数组比较优化 对象比较时字段获取优化 详情查看:https://gitee.com/smartboot/obj-compare/releases/v1.1.3

0
1
发表了资讯
08/13 23:14

obj-compare v1.1.2 已经发布,Java 对象对比工具

obj-compare v1.1.2 已经发布,Java 对象对比工具 此版本更新内容包括: 增加指定默认比较行为配置 object中field循环依赖检测fix object中field基本类型寻找比较器优化 详情查看:https://gitee.com/smartboot/obj-compare/releases/v1.1.2

1
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
6 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部