【发布时间】:2021-03-09 11:05:52
【问题描述】:
我正在创建一个类来存储所有 DTO 类的测试,但目前我只设法覆盖了 coverage 的 10%。我需要知道如何为 DTO 执行 @Tests。
我的DTO:
@Data
@NoArgsConstructor
public class ActivityDTO {
private Integer id;
private Integer version;
@JsonProperty("working_days")
private MonthWorkingDays workingDays;
}
我的Test班级:
@Test
public void ActivityDTOTest() {
ActivityDTO obj = BeanBuilder.builder(ActivityDTO.class).createRandomBean();
}
这是coverage:
我的问题:我不知道如何测试DTO 类,我正在使用assertEquals 进行测试,但我不知道如何应用它。有人能把这个 DTO 类的 Test 类是什么样的,从而能够在其他类中复制它吗?
【问题讨论】:
-
你喜欢测试什么?例如,您设置了“版本”并且它拥有该值?
-
我不知道如何测试 DTO,所以我想知道最常见的测试 DTO 的方法。我想知道在这种情况下将其应用于其他 DTO 的最佳方法。
-
从设计模式来看,我将 DTO 视为没有行为或功能逻辑的数据的容器。出于这个原因,我认为 DTO 不值得花时间进行测试。话虽如此,您的 DTO 实现了哪些需要测试的逻辑?从您发布的 sn-ps 中,我没有看到任何明显的内容。
-
在 DTO 中,我存储了一些共享相似实体的字段。我附上了这个DTO覆盖率的截图,这就是我要解决的问题。
-
我认为这是一个关于如何不使用代码覆盖率的好例子。你看,所有显示 0 覆盖率的方法......都是生成的。担心您自己编写的代码的覆盖率。