Junior — Middle
Χρησιμοποιήσατε το Mockito για δοκιμή κρυφών ή εσωτερικά έμμεσων συστατικών του συστήματος;
sobes.tech AI
Απάντηση από AI
Ναι, το Mockito χρησιμοποιείται συχνά για τη δοκιμή κρυφών ή εσωτερικών συστατικών του συστήματος, ειδικά όταν χρειάζεται να απομονωθεί η δοκιμαζόμενη κλάση από τις εξαρτήσεις.
Για παράδειγμα, αν μια κλάση εξαρτάται από μια ιδιωτική υπηρεσία ή ένα εσωτερικό συστατικό που είναι δύσκολο ή ανεπιθύμητο να αρχικοποιηθεί στη δοκιμή, το Mockito επιτρέπει τη δημιουργία ενός ψεύτικου αντικειμένου αυτού του συστατικού και τον ορισμό της συμπεριφοράς του.
Παράδειγμα χρήσης του Mockito για το mockάρισμα μιας εξάρτησης:
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 βοηθά στη δοκιμή της λογικής που δεν εξαρτάται από πραγματικές εσωτερικές υλοποιήσεις.