- Я использую Mockito в тесте в JUnit. Я издевался над
NavigableSet
. - В моем модульном тесте в какой-то момент мне нужно зациклиться на объектах, содержащихся в этом документе
NavigableSet
. - Я планировал это
NavigableSet
для целей тестирования содержать только 1 объект.
Ниже приведен код, который я использовал с Mockito для создания фиктивного объекта:Mockito дает бесконечен, а петлю и конечно для петель на одной и тот же NavigationSet
NavigableSet<ObjectToProcess> newMockedSet = new TreeSet<ObjectToProcess>();
ObjectToProcess mockedInnerObject = new ObjectToProcess(); // initialization of this object
newMockedSet.add(mockedInnerObject); // I just added the only 1 object contained in the NavigableSet
Mockito.when(getSetOfObjectToProcess()).thenReturn(newMockedSet);
Почему следующий while
цикл дает бесконечный цикл с NavigableSet
, содержащий только один объект?
NavigableSet<ObjectToProcess> anotherSetOfObjects = getSetOfObjectToProcess(); // retrieving the mocked object
while (anotherSetOfObjects.iterator().hasNext())
{
ObjectToProcess thisPaymentDemand = anotherSetOfObjects.iterator().next();
// do stuff
}
Почему следующий for
петля ведет себя, как ожидается, зацикливание только один раз?
NavigableSet<ObjectToProcess> anotherSetOfObjects = getSetOfObjectToProcess(); // retrieving the mocked object
for (ObjectToProcess thisMockedInnerObject : anotherSetOfObjects)
{
ObjectToProcess thisPaymentDemand = thisMockedInnerObject;
// do stuff
}