Sobes.tech
Назад к вопросам
Middle+
3

Какие тесты пишешь? Какие фреймворки используешь?

Компании, где спрашивали
МТСМТС

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

sobes.tech AI

Пишу несколько видов тестов: юнит-тесты для проверки отдельных методов и классов, интеграционные тесты для проверки взаимодействия компонентов и сервисов, а также иногда end-to-end тесты для проверки работы приложения целиком.

Для юнит-тестирования в Java обычно использую JUnit 5 — это стандартный и мощный фреймворк. Для мокирования зависимостей применяю Mockito, что позволяет изолировать тестируемый код. Для интеграционных тестов часто использую Spring Boot Test, если проект на Spring, так как он упрощает поднятие контекста и работу с базой данных.

Пример простого юнит-теста с JUnit и Mockito:

@ExtendWith(MockitoExtension.class)
class UserServiceTest {
    @Mock
    private UserRepository userRepository;

    @InjectMocks
    private UserService userService;

    @Test
    void testFindUserById() {
        User user = new User(1L, "John");
        when(userRepository.findById(1L)).thenReturn(Optional.of(user));

        User result = userService.findUserById(1L);

        assertEquals("John", result.getName());
    }
}