<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock</artifactId>
<version>2.8.3</version>
<scope>test</scope>
</dependency>
public class UserService {
private UserDao userDao;
public UserService(UserDao userDao) {
this.userDao = userDao;
}
public boolean isUserExist(String username) {
User user = userDao.getUserByUsername(username);
return user != null;
}
}
import org.jmock.Mockery;
import org.jmock.integration.junit4.JUnit4Mockery;
import org.junit.Before;
import org.junit.Test;
public class UserServiceTest {
private Mockery context;
private UserDao userDao;
private UserService userService;
@Before
public void setUp() {
context = new JUnit4Mockery();
userDao = context.mock(UserDao.class);
userService = new UserService(userDao);
}
@Test
public void testIsUserExist() {
final String username = "testuser";
context.checking(new Expectations() {{
oneOf(userDao).getUserByUsername(username);
will(returnValue(new User(username)));
}});
boolean result = userService.isUserExist(username);
context.assertIsSatisfied();
assertTrue(result);
}
}