相关疑难解决方法(0)

Mockito.when().thenReturn() 不起作用或返回 null

在测试期间抛出 NullPointerException。我试图调试它,唯一确定的是 eventOptional 始终为空。就像 Mockito.when().thenReturn() 不起作用一样。有人可以帮忙吗?这是我用于测试服务和测试本身的代码:

@Service
public class EventService {

    @Autowired 
    public EventService(EventRepository eventRepository) {
        this.eventRepository = eventRepository;
    }
    //...
    public void updateEvent(EventDTO eventDTO) {
        Optional<Event> eventOptional = eventRepository.findOneById(eventDTO.getId());

        eventOptional.orElseThrow(() -> new BadRequestException(EVENT_NOT_FOUND));
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

和测试类:

@RunWith(MockitoJUnitRunner.class)
public class EventServiceTest {

    @Mock
    private EventRepository eventRepository;
    @InjectMocks
    private EventService eventService;

    private Event sampleEventFromDb;

    @Before
    public void setUp() throws Exception {

        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void shouldUpdateEventTestAndWithProperTime() throws Exception {
        EventDTO eventDTOMock = Mockito.mock(EventDTO.class);

        sampleEventFromDb = Event.builder()
            .name("name")
            .startDateTime(LocalDateTime.now())
            .placeName("place") …
Run Code Online (Sandbox Code Playgroud)

java mockito optional

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

mockito ×1

optional ×1