我在與的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()
。我希望我說清楚。
感謝您的解釋!我會嘗試代碼並給出評論,但似乎是邏輯! –