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-ն օգնում է փորձարկել այն տրամաբանությունը, որը կախված չէ իրական ներքին իրականացումներից։