블로그 API(7) : 블로그 글 삭제 API 테스트 코드 작성

도람·2025년 8월 6일
post-thumbnail

블로그 글 삭제 API 테스트코드

@DisplayName("deleteArticle: 블로그 글 삭제에 성공한다")
    @Test
    public void deleteArticle() throws Exception{

        //given
        final String url = "/api/articles/{id}";
        final String title = "title";
        final String content = "content";

        Article saveArticle = blogRepository.save(Article.builder()
                .title(title)
                .content(content)
                .build());

        //when
        mockMvc.perform(delete(url, saveArticle.getId()))
                .andExpect(status().isOk());

        //then
        List<Article> articles = blogRepository.findAll();

        assertThat(articles).isEmpty();
    }
  • GIVEN: 테스트 전제 조건 세팅, 새로운 Article 엔티티를 저장한다.
    반환받은 saveArticle.getId()가 삭제할 대상의 식별자가 된다.

  • WHEN : API 호출. delete(url, saveArticle.getId())로 "api/articles/{id}" DELETE 요청을 보낸다.
    컨트롤러 -> 서비스 -> 리포지토리 흐름이 제대로 연결되는지 검증하는 단계이다.

  • THEN : 삭제 후 실제 DB 상태 확인. blogRepository.findAll()로 남아 있는 모든 Article을 조회한다.
    assertThat(article).isEmpty()로 리스트가 비어 있어야 하는 조건을 검증한다.


테스트 코드 실행


해당 글은 다음 도서의 내용을 정리하고 참고한 글임을 밝힙니다.
신선영, ⌜스프링 부트 3 벡엔드 개발자 되기 - 자바 편⌟, 골든래빗(주), 2023, 384쪽

profile
정도를 걷는 엔지니어

0개의 댓글