mockito验证方法是否与集合的相同实例匹配,还是验证集合的元素? 如果我将一个断点放到Page#equals()方法中,它就不会被事件命中。只有Page#hashCode()才有。知道为什么Mockito在具有相同元素的情况下不考虑Set的两个实现相等吗?
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}等等...]); - &GT;在com.fg.edee.integration.service.PageServiceTest.testRemove(PageServiceTest.java:60) 实际调用具有不同的参数:pageManager.removePages( (RegularImmutableSet)[{pageId:null; parentId:null; firstChild:null; nextSibling:null}等等。]);