Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AssertJ:递归地对IsequalToComparingFieldByField求反_Java_Junit5_Assertj - Fatal编程技术网

Java AssertJ:递归地对IsequalToComparingFieldByField求反

Java AssertJ:递归地对IsequalToComparingFieldByField求反,java,junit5,assertj,Java,Junit5,Assertj,我有以下代码,用于检查一个对象是否等于另一个对象,使用JUnit 5和AssertJ递归比较所有字段: assertThat(financialDataContainer2.getStandardisedBooking()) .isEqualToComparingFieldByFieldRecursively(initialBooking); 你怎么能在AssertJ中有一个否定这个断言的断言呢?基本上,我希望能够通过递归比较所有字段来检查两个对象是否不相等。参见我的答案 在您的情况

我有以下代码,用于检查一个对象是否等于另一个对象,使用JUnit 5和AssertJ递归比较所有字段:

assertThat(financialDataContainer2.getStandardisedBooking())
    .isEqualToComparingFieldByFieldRecursively(initialBooking);
你怎么能在AssertJ中有一个否定这个断言的断言呢?基本上,我希望能够通过递归比较所有字段来检查两个对象是否不相等。

参见我的答案

在您的情况下,代码是:

assertThat(Collections.singleton(actual)).noneSatisfy(actual -> 
  assertThat(actual).isEqualToComparingFieldByFieldRecursively(unexpected)
);

您想断言所有字段都不同,或者至少有一个字段是?@davidxxx是,请更正一个或第二个字段:)@davidxxx方法
递归地按字段进行相等比较
检查所有字段是否相等。如果一个字段不相等,则返回false。颠倒这个逻辑:如果至少有一个字段不相等,那么我所针对的实现应该返回true。所以:“至少有一个字段是”。