Я пытаюсь использовать UT для своего маленького проекта, и у меня возникла проблема.
Мое приложение использует простую многоуровневую архитектуру, и я не могу использовать UT для уровня сервиса.
На самом деле я пытаюсь высмеивать класс CrudRepository из Spring-data.
Я пытаюсь высмеивать метод findAll одного из моих репозиториев, который расширяет этот класс, но Mockito не может высмеивать интерфейс.
Есть есть ли способ сделать это, кроме самого создания компонента и его заполнения?
[Обновление]
Вот код репозитория:
package fr.kaf.interview.Repository;
import fr.kaf.interview.model.Book;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface BookRepository extends CrudRepository {
}
Вот UT:
@ExtendWith(MockitoExtension.class)
class BookServiceTest {
@Mock
private BookRepository bookRepository;
@InjectMocks
private BookService bookService;
@Test
public void should_get_All_books_from_database() {
//Given
Person author = new Person();
author.setFirstName("Ka");
author.setLastName("AwQl");
Book firstBook = new Book();
firstBook.setTitle("One Book");
firstBook.setAuthors(singletonList(author));
Book secondBook = new Book();
secondBook.setTitle("Second Book");
secondBook.setAuthors(singletonList(author));
given(bookRepository.findAll()).willReturn(asList(firstBook, secondBook));
//When
List allBooks = bookService.getAllBooks();
//Then
assertThat(allBooks).containsExactly(firstBook, secondBook);
}
}
Подробнее здесь: https://stackoverflow.com/questions/546 ... unit-tests
Как имитировать метод поиска репозитория JPA в модульных тестах ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1768759520
Anonymous
Я пытаюсь использовать UT для своего маленького проекта, и у меня возникла проблема.
Мое приложение использует простую многоуровневую архитектуру, и я не могу использовать UT для уровня сервиса.
На самом деле я пытаюсь высмеивать класс [b]CrudRepository[/b] из Spring-data.
Я пытаюсь высмеивать метод findAll одного из моих репозиториев, который расширяет этот класс, но Mockito не может высмеивать интерфейс.
Есть есть ли способ сделать это, кроме самого создания компонента и его заполнения?
[Обновление]
Вот код репозитория:
package fr.kaf.interview.Repository;
import fr.kaf.interview.model.Book;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface BookRepository extends CrudRepository {
}
Вот UT:
@ExtendWith(MockitoExtension.class)
class BookServiceTest {
@Mock
private BookRepository bookRepository;
@InjectMocks
private BookService bookService;
@Test
public void should_get_All_books_from_database() {
//Given
Person author = new Person();
author.setFirstName("Ka");
author.setLastName("AwQl");
Book firstBook = new Book();
firstBook.setTitle("One Book");
firstBook.setAuthors(singletonList(author));
Book secondBook = new Book();
secondBook.setTitle("Second Book");
secondBook.setAuthors(singletonList(author));
given(bookRepository.findAll()).willReturn(asList(firstBook, secondBook));
//When
List allBooks = bookService.getAllBooks();
//Then
assertThat(allBooks).containsExactly(firstBook, secondBook);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/54674251/how-to-mock-jpa-repositorys-find-method-in-unit-tests[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия