用pl.pojo.tester测试Pojo类,提高测试覆盖率

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值