Junior — Middle
Използвали ли сте Mockito за тестване на скрити или вътрешно неявни компоненти на системата?
sobes.tech AI
Отговор от 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 помага да се тества логика, която не зависи от реалните вътрешни реализации.