Встречается на собеседованиях • сегодня

Как внедряешь зависимости в тесты

Для внедрения зависимостей в тесты чаще всего использую Mockito или ручные моки. Основные подходы:

  1. Через конструктор (предпочтительно):
java
class UserServiceTest {
    private UserRepository mockRepo = Mockito.mock(UserRepository.class);
    private UserService userService = new UserService(mockRepo);
}
  1. Через аннотации Mockito:
java
@ExtendWith(MockitoExtension.class)
class UserServiceTest {
    @Mock
    private UserRepository userRepo;
    
    @InjectMocks
    private UserService userService;
}
  1. Для Spring-приложений - @MockBean:
java
@SpringBootTest
class UserControllerTest {
    @MockBean
    private UserService userService;
}

Ключевые моменты:

  • Избегаю реальных зависимостей в unit-тестах
  • Использую @Spy для частичного мокирования
  • Для интеграционных тестов могу поднимать реальные бины с @TestConfiguration
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы