Mockito How to mock repository findById thenReturn() Optional?
By:Roy.LiuLast updated:2019-08-11
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));
From:一号门
Previous:Java How to compare String

COMMENTS