<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.x.x</version>
<scope>test</scope>
</dependency>
public interface UserDao {
User getUserById(int id);
boolean saveUser(User user);
}
public class UserRepository {
private UserDao userDao;
public UserRepository(UserDao userDao) {
this.userDao = userDao;
}
public User getUser(int id) {
return userDao.getUserById(id);
}
public boolean saveUser(User user) {
return userDao.saveUser(user);
}
}
UserDao userDao = Mockito.mock(UserDao.class);
User user = new User(1, "John Doe");
Mockito.when(userDao.getUserById(1)).thenReturn(user);
Mockito.when(userDao.saveUser(user)).thenReturn(true);
UserRepository userRepository = new UserRepository(userDao);
User retrievedUser = userRepository.getUser(1);
boolean isUserSaved = userRepository.saveUser(user);
Assert.assertEquals(user, retrievedUser);
Assert.assertTrue(isUserSaved);
import org.junit.Test;
import org.junit.Assert;
public class UserRepositoryTest {
@Test
public void testGetUser() {
// ...
}
@Test
public void testSaveUser() {
// ...
}
}