Sobes.tech
Junior — Middle

Czy używałeś Mockito do testowania ukrytych lub wewnętrznie niejawnych komponentów systemu?

sobes.tech AI

Odpowiedź od AI

Tak, Mockito jest często używany do testowania ukrytych lub wewnętrznych komponentów systemu, szczególnie gdy konieczne jest izolowanie testowanej klasy od zależności.

Na przykład, jeśli klasa zależy od prywatnej usługi lub wewnętrznego komponentu, który jest trudny lub niepożądany do inicjalizacji w teście, Mockito pozwala na utworzenie obiektu mock tego komponentu i zdefiniowanie jego zachowania.

Przykład użycia Mockito do mockowania zależności:

public class UserService {
    private UserRepository userRepository;

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

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

// W teście
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());

W ten sposób Mockito pomaga testować logikę, która nie zależy od rzeczywistych implementacji wewnętrznych.