Debug Log

테스트코드)org.springframework.dao.InvalidDataAccessApiUsageException

밍미a 2023. 3. 10. 01:02
728x90

좋아요 취소 테스트 코드를 구현하던 도중에

org.springframework.dao.InvalidDataAccessApiUsageException

에러가 발생했다...

처음보는 에러이다 이게 뭐지..?

좋아요를 취소할 때, 좋아요 아이디값에 null이 들어가면 어떻게 되는지 궁금했던 것인데..

    @Test
    @DisplayName("안누른 좋아요 확인 에러")
    @Transactional
    void unClickLikeCheckError() {
        //given
        //유저생성
        User user = createUser();
        //게시글 생성
        CommunityBoard board = createBoard(user);
//        Long boardLikeId1 = boardLikeService.likeBoard(board.getId(), user);
        Long boardLikeId1 = null;

        //then
        assertThrows(NullPointerException.class, ()-> boardLikeService.unLikeBoard(boardLikeId1,user));
    }

테스트코드가 돌긴 도는데... 이게 뭐지...?

널포인트 이셉션이 아니야..?

뭐지...?

The given id must not be null

지정된 ID는 null일 수 없습니다

 

아아...

ID값에는 null을 넣을 수 없구나..그럼 안누른 좋아요는 어떤식으로 확인할 수 있는걸까.. 흠... 애초에 컨트롤러가 나뉘어져 있으니까 안누른 좋아요가 발생할 일이 없을 것 같기도 하다..아니면 임의의 ID 값을 넣어줘볼까~.~

    @Test
    @DisplayName("다른 좋아요 클릭했을때 에러")
    @Transactional
    void otherLikeCheckError() {
        //given
        //유저생성
        User user = createUser();
        //게시글 생성
        CommunityBoard board = createBoard(user);
//        Long boardLikeId1 = boardLikeService.likeBoard(board.getId(), user);
        Long boardLikeId1 = 5L;

        //then
        assertThrows(CustomException.class, ()-> boardLikeService.unLikeBoard(boardLikeId1,user));
    }

잘 된다~