Sobes.tech
Junior — Middle

Siz tizimning yashirin yoki ichki tarzda noaniq bo'laklarini sinash uchun Mockito'dan foydalandingizmi?

sobes.tech AI

AIdan javob

Ha, Mockito ko'pincha tizimning yashirin yoki ichki komponentlarini sinash uchun ishlatiladi, ayniqsa sinov qilinayotgan sinfni bog'liqliklardan ajratish zarur bo'lsa.

Masalan, agar sinf maxfiy xizmat yoki ichki komponentga bog'liq bo'lsa va uni testda boshlash qiyin yoki istalmagan bo'lsa, Mockito bu komponentning soxta ob'ektini yaratishga va uning xulq-atvorini belgilashga imkon beradi.

Mockito yordamida bog'liqlikni soxtalashtirish misoli:

public class UserService {
    private UserRepository userRepository;

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

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

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

Shu tarzda, Mockito haqiqiy ichki komponentlarga bog'liq bo'lmagan mantiqni sinashga yordam beradi.