Sobes.tech
Junior — Middle

Vai esat izmantojis Mockito, lai pārbaudītu slēptas vai iekšēji nenoteiktas sistēmas komponentes?

sobes.tech AI

Atbilde no AI

Jā, Mockito bieži tiek izmantots slēptu vai iekšēju sistēmas komponentu testēšanai, īpaši, ja ir nepieciešams izolēt testēto klasi no atkarībām.

Piemēram, ja klase ir atkarīga no privāta pakalpojuma vai iekšēja komponenta, kas ir grūti vai nevēlami inicializēt testā, Mockito ļauj izveidot šī komponenta viltus objektu un noteikt tā uzvedību.

Mockito izmantošanas piemērs, lai viltus atkarību:

public class UserService {
    private UserRepository userRepository;

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

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

// Testā
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());

Tādējādi Mockito palīdz testēt loģiku, kas nav atkarīga no reālām iekšējām realizācijām.