Try to mock a repository findById method, but no idea use thenReturn() to return an object, as it accepts an Optional?
P.S Tested in Spring Boot 2 environment
import static org.mockito.Mockito.*;
import org.springframework.boot.test.mock.mockito.MockBean;
@MockBean
private BookRepository mockRepository;
@Before
public void init() {
Book book = new Book(1L, "A Book");
//error, can't resolve method thenReturn(book)?
when(mockRepository.findById(1L)).thenReturn(book);
}
Solution
Try Optional.of()
@MockBean
private BookRepository mockRepository;
@Before
public void init() {
Book book = new Book(1L, "A Book");
when(mockRepository.findById(1L)).thenReturn(Optional.of(book));
}
Thank you so much I have been struggling for an hour .it solved my problem
Very helpful. Thanks.
Still getting NullPointerException
new solution please???????????????
I am in the same case, have you resolved this?
Thank you vary much.It is very helpfull
Nup, im getting: java.lang.NullPointerException
i want to write mockito which returns list. How to pass list object in Optional.of (). Could you help me on this.
I am struggling with same scenario. Any solutions ?
Thanks a lot! Been looking for such a solution for a long time.
After passing it as Optional.of(T), when they are checking for T.isPresent() returns false. how to fix that?
Nice One
Could you please guide us how to configure MongoDB embedded DB with the mickito and write controller based test classes?