Sobes.tech
Back to questions
Junior — Middle
51

Использовали ли вы Mockito для тестирования скрытых или внутренне неявных компонентов системы?

Companies where asked
ЛанитЛанит

Answer from AI

sobes.tech AI

Да, Mockito часто используется для тестирования скрытых или внутренних компонентов системы, особенно когда нужно изолировать тестируемый класс от зависимостей.

Например, если класс зависит от приватного сервиса или внутреннего компонента, который сложно или нежелательно инициализировать в тесте, Mockito позволяет создать мок-объект этого компонента и задать поведение.

Пример использования Mockito для мокирования зависимости:

public class UserService {
    private UserRepository userRepository;

    public UserService(UserRepository repo) {
        this.userRepository = repo;
    }

    public User getUserById(int id) {
        return userRepository.findById(id);
    }
}

// В тесте
UserRepository mockRepo = Mockito.mock(UserRepository.class);
Mockito.when(mockRepo.findById(1)).thenReturn(new User("John"));

UserService service = new UserService(mockRepo);
User user = service.getUserById(1);

assertEquals("John", user.getName());

Таким образом, Mockito помогает тестировать логику, не зависящую от реальных реализаций внутренних компонентов.