如何创建在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的任何添加属性都不会被注意到,没有错误/异常和/或失败的测试。
这是某种形式的单元测试的限制吗?还是有解决方法?