Я пытаюсь реализовать модульное тестирование моего объекта Object ниже:
@Service
public class ObjectServiceImpl implements ObjectService{
private final ObjectDao objectDao;
@Autowired
public ObjectServiceImpl(ObjectDao objectDao){
this.objectDao = objectDao;
}
@Override
public Object getById(Long ObjectId) throws RecordNotFoundException {
Optional<Object> Object = ObjectDao.findById(ObjectId);
if (!Object.isPresent()) {
throw new RecordNotFoundException(String.format(
MessageConstants.ObjectID_NOT_FOUND, ObjectId));
}
return Object.get();
}
Однако я получаю ошибку: No value present at java.util.Optional.get
, когда я пытался реализовать мой JUnit ниже:
@RunWith(MockitoJUnitRunner.Silent.class)
public class ObjectServiceTest {
@InjectMocks
private ObjectServiceImpl objectServiceImpl;
@Mock
private ObjectDao objectDao;
private ObjectService objectService;
@Test
public void getById() throws RecordNotFoundException{
Object object = new Object();
Long objectId = 1L;
Optional<Object> objectList =
objectDao.findById(objectId);
given(objectDao.findById(
objectList.get().getId())).willReturn(objectList);
objectServiceImpl.getById(Mockito.anyLong());
Mockito.verify(objectDao).findById(objectId);
assertNotNull(objectServiceImpl.getById(objectId));
}
}
Есть что-то, что я пропустил или что мне нужно обновить?