Mockito - how to mock Optional().get?

Viewed 48

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)); 
}
}
0 Answers
Related