AssertJ的`usingComparatorForFields`如何工作?

时间:2017-04-12 13:01:21

标签: java unit-testing assert assertj

https://codepen.io/anon/pen/RVwaVz

相关

作为解决问题的方法,我试图为该字段设置比较器,我不希望比较器进行比较并使其返回0.

assertThat(service.postComment(12,234,comment)).usingComparatorForFields((a,b)->0,"startDate").isEqualToComparingFieldByFieldRecursively(commentReturned);

但是,我仍然得到这个例外。

Path to difference:  <startDate>
- expected: <null>
- actual  : <2017-04-12 18:28:06.766>

作为旁注 - 我不想比较startDate,因为它使用遗留java.util.Date来检索当前日期,后者也比较毫秒。

usingComparatorForFields如何运作?我甚至尝试使用isEqualToComparingFieldByField代替isEqualToComparingFieldByFieldRecursively并且错误仍然存​​在(在相同的情况下。对于需要递归比较的情况,这个失败。)

1 个答案:

答案 0 :(得分:1)

这看起来像我看到的一个错误,你使用的是什么版本的AssertJ?

您是否可以在assertj-core中创建一个问题,并使用简单的测试用例重现错误?