我想通过JUnit在Spring/JPA/Hibernate架构中测试我的服务。
暂时一切都很好,但我使用了 ToString 的覆盖方法来验证内容:
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this,
ToStringStyle.MULTI_LINE_STYLE);
}
它使用库commons.lang。结果是正确的,但是当我检查具有关系的实体(设置为@OneToMany或@ManyToMany)时,它很快就会变得不可读。
有谁知道有一种方法可以使 JUnit 测试结果在控制台中更具可读性?
谢谢。
我建议使用龙目岛注释@EqualsAndHashcode
和@ToString
。
@EqualsAndHashcode
有助于避免错误,@ToString
为您提供一个很好的可读输出toString()
。
您可以在其中排除不需要的字段:
@EqualsAndHashCode(exclude={"someManyToManyCollection", "dontMather"})
@ToString(exclude={"someManyToManyCollection", "dontMather"})
或者让他们只使用你感兴趣的字段:
@EqualsAndHashCode(of={"id", "someKey"})
@ToString(of={"id", "someKey"})
这应该允许您通过toString()
获得可读性,并且可以将对象与测试中的yourEntity.equals(otherEntity)
进行比较。