我下面提供了一个POJO,
@Setter
@Getter
public class OrderDto extends BaseDto {
@JsonProperty( "products" )
private final List<String> products;
@JsonProperty( "basket_items" )
private final List<BasketItemDto> basketItems;
@JsonProperty( "timestamp" )
@JsonDeserialize( using = JavaOffsetDateTimeDeserializer.class )
@JsonSerialize( using = JavaOffsetDateTimeSerializer.class )
private OffsetDateTime timestamp;
@JsonProperty( "amount" )
private BigDecimal amount;
@JsonProperty( "shop_id" )
private Integer shopId;
..........................
}
我想测试timestamp
字段是否为OffsetDateTime
数据类型。
有可能吗,我该如何编写测试?
答案 0 :(得分:1)
我想测试timestamp字段是否为OffsetDateTime数据类型。
好的。这里有些猜测,但是我认为您想要/打算做什么:
因此,这里的重点是:
OrderDTO
要添加更多背景信息:请记住,您在此处仅定义一个数据持有者对象。您的DTO没有可以测试的任何行为。唯一值得在这里测试的东西:
new()
并手动填充此类dto的字段并序列化为JSON时,您可以检查字符串是否符合预期最后:如果没有正确的“输入” JSON字符串,那么危险但有效的选择:首先编写该测试用例,将已知对象序列化为JSON字符串。然后反序列化该字符串,并确保反序列化的dto与您序列化的字符串匹配。
答案 1 :(得分:0)
您要在哪里/何时进行验证/测试?您可以使用bean验证来验证pojo的字段。您也可以为此编写自己的验证器。 如何进行bean验证:https://www.baeldung.com/javax-validation 使用spring进行自定义bean验证的示例:https://www.baeldung.com/spring-mvc-custom-validator