我在与的Mockito框架斗争:的Mockito - 验证是否在一组的对象调用的方法
我有一个特定类型的Set
,我想验证是否在它的任何对象调用一个具体的方法。这里是我的代码:
@Mock
private Set<MyType> myTypes = (Set<MyType>) mock(Set.class);
@Before
public void setUp() throws Exception{
TestObject testObject = spy(new TestObject());
for(int i = 0; i < 4; i++){
MyType mT = mock(MyType.class);
mT.setName("Name"+i);
myTypes.add(mT);
}
testObject.setMyTypesSet(myTypes);
}
@Test
public void myTypeSet_Test(){
//call method which calls "getName()" for each element in the set
testObject.myTypeSet();
//HERE IS MY STRUGGLE
verify(myType, times(3)).getName();
}
所以myTypes
对象有一个名为getName()
方法。我想测试一下,如果方法getName()
在我测试的方法中被调用了3次。我不能写verify(myTypes, times(3)).getName()
,因为Set
没有方法getName()
。我希望我说清楚。
感谢您的解释!我会尝试代码并给出评论,但似乎是逻辑! –