ServiceImpl class has an add() method using Mybatis insert() return “isSuccess Tag” and auto record the User object's id,when mock add() method using Mockito, we can't get user id value and NulPointerException occurs.
public class ServiceImpl{
public int add() {
User newUser = new User();
newUser.setName("uName");
UserDao userDao=new UserDao();
userDao.add(newUser); //Using myBatis insert() method,and it function is auto assign user.Id and return completed row number.
int userId = newUser.getId();
}
}
//methodTest
public class ServiceImplTest
{
@Test
public void addTest()
{
UserDao userDao=Mockito.mock(UserDao.class);
when(userDao.add(isA(User.class))).thenReturn(1);//NullPointException in newUser.getId();
ServiceImpl serviceImpl=new ServiceImpl();
serviceImpl.add();
}
}
How to solve the problem? Thaks