我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢迎大家来喝茶!

1 前言

Java项目开发中,我们经常需要定义一些简单的类Pojo,如VODTO等,通常它们作为数据载体,只具有gettersettertoString等简单方法。而在单元测试中,因为有测试覆盖率的要求,需要对这些简单的类和简单的方法进行测试,显得十分冗余和无聊。

当然可以配置exclude掉这些类,不进行覆盖率的校验,但这也不是一个好办法,实际上,这些类有的时候也是应该被测试的。

幸好,有开源的类库解决了这个问题:pojo.pl。

2 用代码说话

引入依赖:

<dependency><groupId>pl.pojo</groupId><artifactId>pojo-tester</artifactId><version>0.7.6</version>
</dependency>

对于的Pojo类如下(省略方法):

public class Student {private String name;private Integer age;private Long classId;private List<String> subjects;//省略方法
}public class Teacher {private String name;private Integer age;private List<Long> classIds;//省略方法
}@Data
public class Classroom {private Integer id;private String building;
}

使用pl.pojo来快速测试如下:

//测试所有方法
@Test
public void pojoTest() {assertPojoMethodsForAll(Student.class, Teacher.class).quickly().areWellImplemented();
}//测试特定方法
@Test
public void pojoMethodTest() {assertPojoMethodsForAll(Student.class, Teacher.class).quickly().testing(Method.CONSTRUCTOR).testing(Method.GETTER).testing(Method.SETTER).areWellImplemented();
}//测试被lombok注解的类也可以
@Test
public void lombokClassTest() {assertPojoMethodsForAll(Classroom.class).areWellImplemented();
}

执行测试,查看结果,完美地提升覆盖率,只用几行代码就搞定了:

3 总结

代码请查看:https://github.com/LarryDpk/pkslow-samples


欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

多读书,多分享;多写作,多整理。

用pl.pojo.tester测试Pojo类,提高测试覆盖率相关推荐

  1. 如何评判软件测试的效率,如何衡量测试效率,提高测试效率?

    "根据系统测试发现缺陷数来衡量测试人员的系统测试效率,测试执行效率",这种方法是很片面的.它的优点是便于统计和分析,缺点是只通过一个方面考核了测试效率等,漏掉了很多其他因素. 那么 ...

  2. 如何进行自动化测试?提高测试效率,缩短开发周期。

    作为测试人员,在进行比较大的项目时,使用自动化测试能帮助我们事半功倍地完成测试工作,提高测试效率,缩短开发周期. 那么如何进行自动化测试呢?今天我们就来浅谈一下自动化测试的定义.基本步骤和进行自动化测 ...

  3. 芯片测试术语 ,片内测试(BIST),ATE测试

    芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试: 2. CP:chip probing,wafer level 的电路测试含功 ...

  4. 芯片测试术语,片内测试(BIST),ATE测试

    芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试: 2. CP:chip probing,wafer level 的电路测试含功 ...

  5. 测试经理如何规范测试团队(测试管理篇)

    当你来到一个项目不规范的技术团队,你会怎么处理呢? 问题 流程不规范 没有需求评审和设计评审,需求经常是业务或者项目经理直接跟开发提,有时候开发自己都不明白需求,糊里糊涂地就要开发,也没有设计评审,开 ...

  6. 敏捷测试——打通开发与测试的壁垒!

    DevOps是当前软件行业最热门的话题,无论是互联行业,还是传统行业,大家都在拥抱DevOps,享受引入DevOps后带来的团队效能提升.但是也有不少的团队对DevOps的理解还存在误区,导致在实践过 ...

  7. 普通话测试软件测分准吗,普通话学习测试类 | 普通话测试APP,能做到测试、学习提高两不误吗?...

    原标题:普通话学习测试类 | 普通话测试APP,能做到测试.学习提高两不误吗? 普通话是如今人们生活的常用语言,但要说到参加普通话测试,如果没有提前了解普通话测试的形式与要求,也不知道自己普通话的起步 ...

  8. Parasoft、SmartBear和Gimpel Software测试分析类产品对比评测

    2019独角兽企业重金招聘Python工程师标准>>> 测试分析是软件生命周期中十分重要的一个过程,是产品发布.提交给最终用户前的稳定化阶段.通过有效的测试分析可以在项目投入运行之前 ...

  9. 测试用例的设计-提高测试覆盖率

    前言 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事 ...

  10. 测试人员如何提高API功能测试效率?

    API,即:应用编程接口,就是软件系统不同组成部分衔接的约定.由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要. 程序设计的实践中,编程接口的设计首先要使软 ...

最新文章

  1. 内存分析工具MAT的使用
  2. tomcat的三种部署方式
  3. 计算机信息加工的类型及举例,3.1.2计算机信息加工的过程和类型
  4. 程序员过关斩将--redis做消息队列,香吗?
  5. 哌甲酯药行业调研报告 - 市场现状分析与发展前景预测
  6. window服务器搭建私有Git详解
  7. 12条自问让你更好地编程
  8. Codeforces Round #573 (Div. 2)
  9. QLCDNumber 显示样式(例如:电子手表有背景绘图)
  10. 生物力学有限元Mimics/ANSYS
  11. ARM、单片机、stm32、51单片机、和开发板的概念、区别及包含关系
  12. 图片怎么转换成png格式?
  13. 找众数的算法代码c语言,寻找众数算法
  14. 隐藏微信公众号右上角的分享按钮
  15. 阿里云播放器AliyunPlayer的走马灯组件的位置
  16. 软件开发:项目设计思路(流程、功能方法和数据结构)
  17. Transfer Learning - Overview(详细讲解)
  18. 14宽的键槽深度多少_平键和键槽的标准尺寸规格表
  19. webrequest、httpwebrequest、webclient、HttpClient 四个类的区别?
  20. Oracle参数为英文或数字,ORACLE中将数字转换为英文

热门文章

  1. 魅族mx4pro刷linux,老树开新花 魅族MX4 Pro刷Flyme 5体验
  2. vscode使用Setting Sync
  3. 正从服务器获取安装包消息 荣耀9,华为荣耀9 root教程 华为荣耀9获取root权限的方法...
  4. 阿铭Linux_网站维护学习笔记20190304
  5. Java编写MD5加密工具类,登录密码加密
  6. gif分解合成_如何通过分解和合成使复杂的问题更容易
  7. 今晚直播 | 手把手带你用 Three.js 实现粒子特效,走入 3D 世界!
  8. Linux 2038年问题
  9. 腾达路由器设置成中继模式
  10. 如何设置DiffMerge不进行Class文件的比较