0

我想通过 JUnit 在 Spring/JPA/Hibernate 架构中测试我的服务。

暂时一切正常,但我使用了 ToString 的覆盖方法来验证内容:

@Override
public String toString() {
    return ToStringBuilder.reflectionToString(this, 
                    ToStringStyle.MULTI_LINE_STYLE);
}

它使用库 commons.lang。结果是正确的,但是当我检查具有关系的实体(为@OneToMany 或@ManyToMany 设置)时,它很快变得不可读。

任何人都知道有一种方法可以使 JUnit 测试结果在控制台中更具可读性吗?

谢谢你。

4

1 回答 1

1

我建议使用Lombok注释@EqualsAndHashcode@ToString.

@EqualsAndHashcode有助于避免错误并@ToStringtoString().

您可以排除不需要的字段:

@EqualsAndHashCode(exclude={"someManyToManyCollection", "dontMather"})
@ToString(exclude={"someManyToManyCollection", "dontMather"})

或让他们仅使用您感兴趣的字段:

@EqualsAndHashCode(of={"id", "someKey"})
@ToString(of={"id", "someKey"})

这应该可以让您获得可读性,toString()并且可以将对象与yourEntity.equals(otherEntity)测试中的对象进行比较。

于 2012-08-10T16:28:31.653 回答