Sobes.tech
Junior — Middle

Használta a Mockito-t a rendszer rejtett vagy belsőleg implicit komponenseinek tesztelésére?

sobes.tech MI

Válasz az MI-től

Igen, a Mockito gyakran használják a rendszer rejtett vagy belső komponenseinek tesztelésére, különösen akkor, amikor a tesztelt osztályt izolálni kell a függőségektől.

Például, ha egy osztály egy privát szolgáltatástól vagy belső komponenstől függ, amelyet nehéz vagy nem kívánatos inicializálni a teszt során, a Mockito lehetővé teszi ennek a komponensnek a hamis objektumának létrehozását és viselkedésének meghatározását.

A Mockito használatának példája egy függőség hamisítására:

public class UserService {
    private UserRepository userRepository;

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

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

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

Így a Mockito segít tesztelni azokat a logikákat, amelyek nem függenek valódi belső implementációktól.