添加新属性时,单元测试DTO失败

时间:2018-11-21 06:44:20

标签: unit-testing junit5

如何创建在DTO中添加新属性时应该失败或引发错误/异常的单元测试?

在某种情况下,使用以下实现从实体到dto进行以下转换:

//my entity
public class SampleEntity {
    private AnotherObject property1;
    private AnotherPropertyObject property2;
}

//my dto
public class SampleDTO {
    private String anotherObjectName;
    private String anotherPropertyObjectName;
}

我将实体转换为DTO的方法

//service
public SampleDTO translateEntityToDTO(SampleEntity entity) {
    SampleDTO dto = new SampleDTO();

    //uses toString for sample and simplicity
    dto.setAnotherObjectName(entity.getProperty1().toString());
    dto.setAnotherPropertyObjectName(entity.getProperty2().toString());

    return dto;
}

对于我的单元测试断言,它可能看起来像

//start of test
SampleDTO expected = service.translateEntityToDTO(sampleEntity);

//asserttions
expected.getAnotherObjectName().isEqual(sampleEntity.getProperty1().toString())
expected.getAnotherPropertyObjectName().isEqual(sampleEntity.getProperty2().toString());

现在,如果我向SampleDTO添加新属性该怎么办?我现在看到的是,在单元测试的角度来看,对DTO的任何添加属性都不会被注意到,没有错误/异常和/或失败的测试。

这是某种形式的单元测试的限制吗?还是有解决方法?

0 个答案:

没有答案