Sobes.tech
Назад к вопросам
Junior — Middle
65

Какими способами вы подключаете внешние зависимости при написании тестов?

Ответ от нейросети

sobes.tech AI

При написании тестов во внешние зависимости обычно подключают с помощью:

  1. Mock-объекты — с помощью библиотек, например, Mockito или EasyMock, создаются имитации зависимостей, чтобы изолировать тестируемый код.

  2. Dependency Injection (DI) — зависимости передаются в тестируемый класс через конструктор или сеттеры, что позволяет подставлять моки или стабы.

  3. Использование тестовых конфигураций — например, в Spring Boot можно создавать отдельные конфигурации для тестов, где подключаются нужные зависимости.

  4. Интеграционные тесты с реальными зависимостями — подключение реальных сервисов или баз данных, часто через тестовые контейнеры (Testcontainers).

Пример с Mockito:

@RunWith(MockitoJUnitRunner.class)
public class UserServiceTest {
    @Mock
    private UserRepository userRepository;

    @InjectMocks
    private UserService userService;

    @Test
    public void testGetUser() {
        when(userRepository.findById(1L)).thenReturn(Optional.of(new User(1L, "John")));
        User user = userService.getUser(1L);
        assertEquals("John", user.getName());
    }
}