我有这个数据访问接口:
public interface UserDao {
void loadUsers(Handler<AsyncResult<List<User>>> handler);
}
Run Code Online (Sandbox Code Playgroud)
它用于这样的服务:
public class UserService {
private UserDao userDao;
public UserService(UserDao UserDao) {
this.userDao = userDao;
}
public void getUsers(Future<List<User>> future) {
userDao.loadUsers( ar ->{
if (ar.succeeded()){
List<User> users = ar.result();
// process users
future.complete(users);
}else {
// handle the error
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
现在我的目的是对我的服务进行单元测试并模拟数据访问层。每次调用 UserDao 类的 getUsers 方法时,我都想返回一组固定的结果。
@Test
public void testGetUsers(TestContext context) {
Async async = context.async();
UserDao mockUserDao = Mockito.mock(UserDao.class);
UserService userService = new UserService(mockUserDao);
List<User> mockResult = …Run Code Online (Sandbox Code Playgroud)