У меня есть этот код Java, который включает в себя интерфейс.Mock for loop with interface
ILocation<ILocation> contactLocations = fileSystem.getContactLocations();
for (ILocation location : contactLocations) {
location.getType();
...
}
public interface ILocation{
String getName();
...
}
public interface ILocationS<T extends ILocation> extends IListCollectionWrapper<T> {
...
}
public abstract interface IListCollectionWrapper<E>extends ICollectionWrapper<E>{
public abstract List<E> getAsList();
}
ILocation<ILocation> contactLocations = fileSystem.getContactLocations();
for (ILocation locations : contactLocations) {
...
}
Я использую Mockito, и я пытаюсь проверить содержимое цикла for.
Iterator<ILocation> mockIterator = mock(Iterator.class);
Mockito.when(locations.iterator()).thenReturn(mockIterator);
Mockito.when(mockIterator.next()).thenReturn(location);
Mockito.when(location.getType()).thenReturn("test");
Я никогда не проникал де цикл
Вы пишете свой собственный итератор? Если бы вы могли поделиться этим кодом? Если нет, можете ли вы издеваться над 'fileSystem.getContactLocations()', чтобы вернуть правильный объект 'ILocation', чтобы вам не нужно было издеваться над итератором? – FriedSaucePots