如何使用 Google Truth 使用其中一个属性来比较两个元素(单元测试)



我是Google Truth库的新手,我想知道是否有办法仅使用其中一个属性来比较两个元素。我知道用 AssertJ 可以做到这一点,所以我想知道 Truth 是否可以实现同样的目的。

我想做类似的事情。

list list1 = Method1TocreateAList((;
list list2 = Method2ToCreateAList((;

其他代码

我想实现
的测试 assertThat(list2(.compareElementsByUsing(x=>x.id = y(

要基于纯相等以外的比较来比较列表,请使用comparingElementsUsing

assertThat(list1).comparingElementsUsing(...).containsExactlyElementsIn(list2);

如果您也想检查订单,请在末尾添加inOrder()调用。

唯一剩下的技巧是在该...部分中放置什么。对于您的情况,由于您要比较单个字段的值,因此可以使用Correspondence.transforming

assertThat(list1)
.comparingElementsUsing(
transforming(X::id, "has an ID of"))
.containsExactlyElementsIn(list2);

相关内容

  • 没有找到相关文章

最新更新