用pl.pojo.tester测试Pojo类,提高测试覆盖率
我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢迎大家来喝茶!
1 前言
在Java
项目开发中,我们经常需要定义一些简单的类Pojo
,如VO
、DTO
等,通常它们作为数据载体,只具有getter
、setter
、toString
等简单方法。而在单元测试中,因为有测试覆盖率的要求,需要对这些简单的类和简单的方法进行测试,显得十分冗余和无聊。
当然可以配置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类,提高测试覆盖率相关推荐
- 如何评判软件测试的效率,如何衡量测试效率,提高测试效率?
"根据系统测试发现缺陷数来衡量测试人员的系统测试效率,测试执行效率",这种方法是很片面的.它的优点是便于统计和分析,缺点是只通过一个方面考核了测试效率等,漏掉了很多其他因素. 那么 ...
- 如何进行自动化测试?提高测试效率,缩短开发周期。
作为测试人员,在进行比较大的项目时,使用自动化测试能帮助我们事半功倍地完成测试工作,提高测试效率,缩短开发周期. 那么如何进行自动化测试呢?今天我们就来浅谈一下自动化测试的定义.基本步骤和进行自动化测 ...
- 芯片测试术语 ,片内测试(BIST),ATE测试
芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试: 2. CP:chip probing,wafer level 的电路测试含功 ...
- 芯片测试术语,片内测试(BIST),ATE测试
芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试: 2. CP:chip probing,wafer level 的电路测试含功 ...
- 测试经理如何规范测试团队(测试管理篇)
当你来到一个项目不规范的技术团队,你会怎么处理呢? 问题 流程不规范 没有需求评审和设计评审,需求经常是业务或者项目经理直接跟开发提,有时候开发自己都不明白需求,糊里糊涂地就要开发,也没有设计评审,开 ...
- 敏捷测试——打通开发与测试的壁垒!
DevOps是当前软件行业最热门的话题,无论是互联行业,还是传统行业,大家都在拥抱DevOps,享受引入DevOps后带来的团队效能提升.但是也有不少的团队对DevOps的理解还存在误区,导致在实践过 ...
- 普通话测试软件测分准吗,普通话学习测试类 | 普通话测试APP,能做到测试、学习提高两不误吗?...
原标题:普通话学习测试类 | 普通话测试APP,能做到测试.学习提高两不误吗? 普通话是如今人们生活的常用语言,但要说到参加普通话测试,如果没有提前了解普通话测试的形式与要求,也不知道自己普通话的起步 ...
- Parasoft、SmartBear和Gimpel Software测试分析类产品对比评测
2019独角兽企业重金招聘Python工程师标准>>> 测试分析是软件生命周期中十分重要的一个过程,是产品发布.提交给最终用户前的稳定化阶段.通过有效的测试分析可以在项目投入运行之前 ...
- 测试用例的设计-提高测试覆盖率
前言 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事 ...
- 测试人员如何提高API功能测试效率?
API,即:应用编程接口,就是软件系统不同组成部分衔接的约定.由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要. 程序设计的实践中,编程接口的设计首先要使软 ...
最新文章
- 内存分析工具MAT的使用
- tomcat的三种部署方式
- 计算机信息加工的类型及举例,3.1.2计算机信息加工的过程和类型
- 程序员过关斩将--redis做消息队列,香吗?
- 哌甲酯药行业调研报告 - 市场现状分析与发展前景预测
- window服务器搭建私有Git详解
- 12条自问让你更好地编程
- Codeforces Round #573 (Div. 2)
- QLCDNumber 显示样式(例如:电子手表有背景绘图)
- 生物力学有限元Mimics/ANSYS
- ARM、单片机、stm32、51单片机、和开发板的概念、区别及包含关系
- 图片怎么转换成png格式?
- 找众数的算法代码c语言,寻找众数算法
- 隐藏微信公众号右上角的分享按钮
- 阿里云播放器AliyunPlayer的走马灯组件的位置
- 软件开发:项目设计思路(流程、功能方法和数据结构)
- Transfer Learning - Overview(详细讲解)
- 14宽的键槽深度多少_平键和键槽的标准尺寸规格表
- webrequest、httpwebrequest、webclient、HttpClient 四个类的区别?
- Oracle参数为英文或数字,ORACLE中将数字转换为英文
热门文章
- 魅族mx4pro刷linux,老树开新花 魅族MX4 Pro刷Flyme 5体验
- vscode使用Setting Sync
- 正从服务器获取安装包消息 荣耀9,华为荣耀9 root教程 华为荣耀9获取root权限的方法...
- 阿铭Linux_网站维护学习笔记20190304
- Java编写MD5加密工具类,登录密码加密
- gif分解合成_如何通过分解和合成使复杂的问题更容易
- 今晚直播 | 手把手带你用 Three.js 实现粒子特效,走入 3D 世界!
- Linux 2038年问题
- 腾达路由器设置成中继模式
- 如何设置DiffMerge不进行Class文件的比较