when(boardService.selectAllBoardList(pageable)).thenReturn(boardDtoPage);
when(boardService.selectAllBoardList(any(Pageable.class))).thenReturn(boardDtoPage);
오류 메시지를 보면 **NullPointerException
**이 발생하고 있으며, BoardService.selectAllBoardList
메서드의 반환 값이 **null
**이라는 것을 알 수 있습니다. 이는 when(boardService.selectAllBoardList(pageable)).thenReturn(boardDtoPage);
부분에서 모의 객체의 동작을 설정할 때 문제가 발생한 것으로 보입니다.
모의 객체의 동작을 설정할 때, 메서드 호출에 사용되는 인자가 정확히 일치해야 합니다. Pageable
인스턴스는 동일한 페이지 번호와 페이지 크기를 가지더라도 다른 인스턴스일 수 있으므로, 이로 인해 문제가 발생할 수 있습니다.
any()
메서드를 사용하여 Pageable
인자에 대한 일치를 덜 엄격하게 만들 수 있습니다. 아래와 같이 코드를 수정해 보세요:
이렇게 하면 boardService.selectAllBoardList
메서드가 어떤 Pageable
인스턴스와 함께 호출되더라도 **boardDtoPage
**를 반환하도록 설정됩니다.
또한, **userRepository.save(user);
**와 boardRepository.saveAll(boardList);
부분은 실제 저장소에 데이터를 저장하려고 하지만, **userRepository
**와 **boardRepository
**는 모의 객체이므로 실제 저장 작업이 수행되지 않습니다. 이 부분은 테스트에서 필요하지 않을 수 있으므로 제거하거나 필요한 동작을 모의 객체에 설정해야 할 수도 있습니다.
이러한 수정을 한 후에도 문제가 지속된다면, BoardService.selectAllBoardList
메서드의 구현을 확인하고 해당 메서드가 예상대로 동작하는지 확인해 보세요.