我需要比较一个DTO
类及其Entity
class.
例如,一个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;
}
and my 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;
}
And 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
有任何想法吗?
The 逐个字段递归比较 https://assertj.github.io/doc/#assertj-core-recursive-comparison是您正在寻找的:
AddressDTO addressDTO = new AddressDTO(...);
AddressEntity addressEntity = new AddressEntity(...);
assertThat(addressDTO).usingRecursiveComparison()
.isEqualTo(addressEntity);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)