Sobes.tech
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 ეხმარება ლოგიკის ტესტირებაში, რომელიც არ დამოკიდებულია რეალურ შიდა განხორციელებებზე.