【发布时间】:2014-10-24 16:00:10
【问题描述】:
我有一个具有 ValidationMethod 的 DropWizard 表示。当我尝试为它编写单元测试时,虽然当我使用jackson ObjectMapper 时正在向 json 字符串插入一个附加属性,该属性是有效的{name_of_other_property}:boolean。
这打破了拥有固定装置并将 ObjectMapped 输出与一些固定的 json 文件进行比较的系统。有没有其他人遇到过这个问题并找到了解决它的最佳方法?
编辑以添加示例
public class Cat {
@NotEmpty
private String name;
@JsonProperty
public String getName() {
return name;
}
@JsonProperty
public void setName(String name) {
this.name=name;
}
@ValidationMethod(message = "Not a cat name!")
public boolean isValidCatName() {
return (!"Fido".equals(this.name));
}
}
我正在关注 DropWizard 夹具测试文档: https://dropwizard.github.io/dropwizard/manual/testing.html
但是我从对象映射器中取回 Json,mapper.writeValueAsString(object) 给了我带有额外属性的 json:
{
name:"Felix"
validCatName:true
}
这意味着单元测试失败。但是,在将表示用作我的资源的参数时,我没有注意到这个额外的字段存在。
谢谢, 伊恩
编辑:解决方案是将@JsonIgnore 注解添加到验证方法中。
【问题讨论】:
-
你好,你的问题是很难理解的(至少对我来说是这样)。也许您可以在您的问题中添加一些代码,并指出究竟是什么没有按预期工作?
-
您好,我已经用更多代码更新了示例以使其更清晰。
标签: hibernate jackson dropwizard