mockito verify 方法是否匹配集合的相同实例,或者它是否验证集合的元素?如果我在 Page#equals() 方法上设置一个断点,它不会被触发。只有 Page#hashCode() 可以。知道为什么 Mockito 在具有相同元素时不认为 Set 的 2 个实现是相等的吗?
Set<Page> pagesToRemove = Sets.newHashSet();
// add a few pages
Set<Page> copy = ImmutableSet.copyOf(pagesToRemove)
pageManager.removePages(copy);
verify(pageManager, new Times(1)).removePages(pagesToRemove);
Page 上的 Equals 和 HashCodes 方法具有继承自 Object 的默认实现。
论据不同!通缉:pageManager.removePages( (HashSet) [{ pageId : null; parentId : null; firstChild : null; nextSibling : null }, etc...] ); -> at com.fg.edee.integration.service.PageServiceTest.testRemove(PageServiceTest.java:60) 实际调用有不同的参数: pageManager.removePages( (RegularImmutableSet) [{ pageId : null; parentId : null; firstChild : null; nextSibling : null } 等..] );