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