Sobes.tech
Junior — Middle

Оё шумо барои санҷиши компонентҳои пинҳон ё дохилии системаи ғайрирасмӣ истифода бурдаед?

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 кӯмак мекунад, ки логикаи дар дохили воқеӣ нест, ки ба воқеӣ вобаста нест, санҷида шавад.