Java AssertJ:递归地对IsequalToComparingFieldByField求反
我有以下代码,用于检查一个对象是否等于另一个对象,使用JUnit 5和AssertJ递归比较所有字段:Java AssertJ:递归地对IsequalToComparingFieldByField求反,java,junit5,assertj,Java,Junit5,Assertj,我有以下代码,用于检查一个对象是否等于另一个对象,使用JUnit 5和AssertJ递归比较所有字段: assertThat(financialDataContainer2.getStandardisedBooking()) .isEqualToComparingFieldByFieldRecursively(initialBooking); 你怎么能在AssertJ中有一个否定这个断言的断言呢?基本上,我希望能够通过递归比较所有字段来检查两个对象是否不相等。参见我的答案 在您的情况
assertThat(financialDataContainer2.getStandardisedBooking())
.isEqualToComparingFieldByFieldRecursively(initialBooking);
你怎么能在AssertJ中有一个否定这个断言的断言呢?基本上,我希望能够通过递归比较所有字段来检查两个对象是否不相等。参见我的答案
在您的情况下,代码是:
assertThat(Collections.singleton(actual)).noneSatisfy(actual ->
assertThat(actual).isEqualToComparingFieldByFieldRecursively(unexpected)
);
您想断言所有字段都不同,或者至少有一个字段是?@davidxxx是,请更正一个或第二个字段:)@davidxxx方法
递归地按字段进行相等比较
检查所有字段是否相等。如果一个字段不相等,则返回false。颠倒这个逻辑:如果至少有一个字段不相等,那么我所针对的实现应该返回true。所以:“至少有一个字段是”。