I have a problem with Mockito - I have following code example
@Mock
private SomeClass someclass
........
when(Optional.of(someclass).get()).thenReturn(something)
It doesn't work, as i'm getting MissingMethodinvocationException. When i tried to mock the Optional
@Mock private Optional<SomeClass> optional;
I'm getting an error that Mockito cannot Mock or spy Optional class. How can I mock Optional.get() behavior?
EDIT: test method:
@Test
public void shouldAlwaysCreteModelTest()
{
when(objectsService.findExistingModel(importDto.getCode(), importDto.getName())).thenReturn(Optional.of(model));
when(modelService.create(ToCreateModel.class)).thenReturn(model);
final ToCreateModel result = createObjects.retrieveOrCreateModel(importDto);
assertNotNull("result should not be null", result);
assertEquals("Should create ToCreateModel", model, result);
verify(modelService).create(eq(ToCreateModel.class));
}
}