Модульное тестирование DTO, которое завершается неудачно при добавлении нового свойства - PullRequest
0 голосов
/ 21 ноября 2018

Как создать модульный тест, который должен завершиться с ошибкой или выдать ошибку / исключение при добавлении нового свойства в 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 останется незамеченным с точки зрения модульного тестирования, без ошибок / исключений и / или неудачных тестов.

Это какое-тоограничения модульного тестирования или есть обходной путь для этого?

...