Я получаю следующее исключение при касте:
java.lang.ClassCastException: com.model.Bucket cannot be cast to java.util.Optional
at com.service.BucketServiceTest.testGetById(BucketServiceTest.java:65)
Однако нигде в моем коде я не пытаюсь привести к Optional
:
@Test
public void testGetById() {
Mockito.when(bucketRepository.findById(anyLong())).thenAnswer(invocationOnMock -> testBucket);
String bucketName = bucketService.getBucketById(testBucket.getId()).getName();
assertEquals(bucketName, testBucket.getName());
}
Строка 65 - String bucketName = bucketService.getBucketById(testBucket.getId()).getName();
Метод getBucketById
возвращает тип bucket
, а НЕ optional
:
@Transactional(readOnly = true)
public Bucket getBucketById(long id) {
return (Bucket) bucketRepository.findById(id).orElse(null);
}
Поэтому я понятия не имею, где Bucket
приводится к Optional
, и поэтому эта ошибка для меня абсолютно бессмысленна.