共计 1221 个字符,预计需要花费 4 分钟才能阅读完成。
我最新最全的文章都在 南瓜慢说 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/p…
欢送关注微信公众号 <南瓜慢说>,将继续为你更新 …
多读书,多分享;多写作,多整顿。
正文完