Sobes.tech
Junior — Middle

Da li ste koristili Mockito za testiranje skrivenih ili interno nejasnih komponenti sistema?

sobes.tech АИ

Одговор од АИ

Да, 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 помаже у тестирању логике која не зависи од стварних унутрашњих имплементација.