Мой метод mockito использует реальный метод, а не вызывает метод mockito.Ваши входные данные будут полезны
Java-код.
public class CheckUser {
private final UserDao userDao;
public CheckUser (final String domain){
userDao = new UserDao(domain);
}
public IUser getExistingUser(){
if (userDao == null) {
throw new RuntimeException("userDao is null");
}
IUser existingUser = userDao.getExistingUser();
if (existingUser == null) {
throw new RuntimeException("ExistingUser is null");
}
return existingUser;
}
}
Это мой тестовый код JUnit.
@Test
public void testExistingUser() {
UserDao mockUserDao = mock(UserDao.class);
when(mockUserDao.getExistingUser()).thenReturn(getExistingTestUser());
}
private UserDao getExistingTestUser(() {
return ExistingUserImpl.Builder(). //withfield methods. build();
}
Я создаю этот фиктивный объект только для целей тестирования.Это просто возвращает ложный объект MockedExistingUserImpl, который реализован IUser.
public class MockedExistingUserImpl implements IUser {
//fields
//overriding getter methods for all fields
//Builder for ExistingUserImpl
}
Когда я вызываю userDao.getExistingUser () в своем коде, я ожидаю вернуть имитированный объект Existing user, но он попадает в реальный метод и не проходит тест из-за подключения к домену.Мы не устанавливаем доменное соединение для запуска Junits.Любые вклады приветствуются.Спасибо!