我需要比较一个DTO
类和它的Entity
类。
例如,一个AddressDTO
类应该是:
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class AddressDTO {
private StringTypeDTO text;
private List<StringTypeDTO> line;
private StringTypeDTO city;
private StringTypeDTO district;
private StringTypeDTO state;
private StringTypeDTO postalCode;
private StringTypeDTO country;
}
我的AddressEntity
课程是:
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Address {
private StringType text;
private List<StringType> line;
private StringType city;
private StringType district;
private StringType state;
private StringType postalCode;
private StringType country;
}
有办法用assertj
比较这两个对象吗?
StringType
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class StringTypeDTO {
private String value;
}
和StringType
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class StringType {
private String value;
}
我希望避免编写如下代码:
assertThat dto.field1 is equals to entity.field1 of object
assertThat dto.field2 is equals to entity.field2 of object
assertThat dto.field3 is equals to entity.field3 of object
有什么想法吗?
发布于 2021-12-16 15:21:42
逐场递归比较是您要寻找的内容:
AddressDTO addressDTO = new AddressDTO(...);
AddressEntity addressEntity = new AddressEntity(...);
assertThat(addressDTO).usingRecursiveComparison()
.isEqualTo(addressEntity);
https://stackoverflow.com/questions/70380071
复制相似问题