JUnit5, Mockito возвращает неверное значение

Я только начинаю разбираться в модульном тестировании, и не могу понять, где я допустил ошибку.

Репозиторий:

@Repository
public interface BookRepository extends JpaRepository<Book, Integer> {
    List<Book> findByAuthorContainingIgnoreCase(String author);
    List<Book> findByGenreContainingIgnoreCase(String genre);
    List<Book> findByNameContainingIgnoreCase(String name);
}

Сервис:

public List<Book> findByAuthorContaining(String author){
        return bookRepository.findByAuthorContainingIgnoreCase(author);
}

Тест:

    @Test
    public void findByAuthors(){
        List<Book> books = getBooks();
        Mockito.when(bookRepository.findByAuthorContainingIgnoreCase(any())).thenReturn(books);

        List<Book> result = bookService.findByAuthorContaining("testAuthor2");

        Assertions.assertEquals(1, result.size());
    }

    private List<Book> getBooks(){
        Book firstBook = new Book();
        Book secondBook = new Book();

        firstBook.setId_book(1);
        firstBook.setAmount(1);
        firstBook.setImage("/test1");
        firstBook.setGenre("testGenre");
        firstBook.setAuthor("testAuthor");
        firstBook.setYear(2001);
        firstBook.setPages(1);
        firstBook.setPrice(1);

        secondBook.setId_book(2);
        secondBook.setAmount(2);
        secondBook.setImage("/test2");
        secondBook.setGenre("testGenre2");
        secondBook.setAuthor("testAuthor2");
        secondBook.setYear(2002);
        secondBook.setPages(2);
        secondBook.setPrice(2);

        return List.of(firstBook, secondBook);
}

Какое бы значение я не подставлял вместо автора, юнит тест всегда показывает что размер result равен двум. Причем метод 100% работает корректно и я его успешно использую в приложении, что говорит о том, что я допустил ошибку именно в тестировании. Можете подсказать?


Ответы (0 шт):