Closed SummerToday closed 9 months ago
안녕하세요~! 말씀해주신대로 assertThat(blogRepository.findById(savedArticle.getId())).isEmpty();
을 사용해도 문제가 없습니다.
물론 테스트 코드에서는 데이터를 하나만 넣고 진행하기 때문에, 다음 코드처럼 작성에도 테스트에는 크게 상관은 없지만, 코드를 적다보니 의문이 생겨 이렇게 질문 드립니다!
말씀주신 대로 테스트 코드에 데이터를 하나만 넣고 진행하기 때문에 이 흐름도 어색하지 않을 것 같다는 생각이 들어요. 제가 생각한 테스트 코드의 흐름은 아래와 같은데요.
물론 "특정 id를 가진 블로그 글 삭제에 성공한다."를 명확하게 검증하려면 제시해주신 대안인 assertThat(blogRepository.findById(savedArticle.getId())).isEmpty();
를 then 절에 사용하면 테스트 코드를 조금 더 명시적으로 작성할 수 있습니다. 둘 다 틀린 테스트 코드는 아니기 때문에 더 옳다고 생각하는 방법대로 작성해주시면 될 것 같습니다. 👍👍
감사합니다.
알겠습니다~! 감사합니다!!
안녕하세요! 일단 쓰신 글 너무 잘 보고 있고 도움 많이 되고 있습니다!! 다만 실습 진행 중 궁금증이 생겨 질문 드립니다!
6.6.4 테스트 코드 부분 Then 부분에서 해당 테이블에 남아있는 글이 있는지 확인하는 코드가 작성되어 있는데, 테스트 하고자 하는 API 코드가 블로그 글 전체를 삭제 하는 코드가 아닌 특정 ID에 해당하는 글을 삭제하는 코드이니 테스트 코드를 작성할 때에도 삭제한 ID에 해당하는 글이 테이블에 아직 남아있는지를 확인하는 방향으로 코드를 Then 부분에 작성해주면 더 적합한 코드가 되지 않을까라는 궁금증이 생겼습니다. 물론 테스트 코드에서는 데이터를 하나만 넣고 진행하기 때문에, 다음 코드처럼 작성에도 테스트에는 크게 상관은 없지만, 코드를 적다보니 의문이 생겨 이렇게 질문 드립니다! 아니면 제가 아직 모르는 따로 생각하시는 부분이 있으셔서 그렇게 작성하셨는지 궁금합니다! 제가 생각한 Then 부분의 코드는 assertThat(blogRepository.findById(savedArticle.getId())).isEmpty(); 입니다.
감사합니다!