인프런 커뮤니티 질문&답변

heeeeejin2님의 프로필 이미지
heeeeejin2

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 통합 테스트

안녕하세요 질문있습니다~!

작성

·

357

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

안녕하세요!

강의 듣다가 궁금한 점이 생겨서요!

섹션6 스프링 DB 접근 기술 - 스프링 통합테스트 후반부를 듣다가 생긴 궁금증입니다~!

 

MemberServiceTest 와 MemberServiceIntegrationTest 설명을 해주시면서 자바 코드로만 돌아갈 수 있는 순수한 단위 테스트가 좋을 확률이 높다고 하셨는데요

자바 코드로만 돌아가는 MemberServiceTest는 실제 DB를 연결하지 않았잖아요

그럼 보통 실무에서도 순수한 단위 테스트는 이렇게 MemoryMemberRepository의 형식으로 만들어서 단위 테스트를 진행 하는 건가요?

 

MemberServiceTest와 MemberServiceIntegrationTest의 차이점은 DB를 연결하고/안하고의 차이, 그로인해 스프링컨테이너 연결 유무의 차이.. 맞죠..?

 

답변 1

0

안녕하세요. heeeeejin2님, 공식 서포터즈 y2gcoder입니다.

자바 코드로만 돌아가는 MemberServiceTest는 실제 DB를 연결하지 않았잖아요

그럼 보통 실무에서도 순수한 단위 테스트는 이렇게 MemoryMemberRepository의 형식으로 만들어서 단위 테스트를 진행 하는 건가요?

=> 맞습니다 비즈니스 레이어의 단위 테스트를 작성할 때 영속성 레이어가 필요하다면 MemoryMemberRepository와 같은 테스트 더블을 만들어 테스트합니다.

MemberServiceTest와 MemberServiceIntegrationTest의 차이점은 DB를 연결하고/안하고의 차이, 그로인해 스프링컨테이너 연결 유무의 차이.. 맞죠..?

=> 맞습니다.

단위테스트와 통합테스트의 차이가 궁금하고 단위 테스트를 더 많이 작성해야 하는 이유 등이 궁금하시면 클린 코드와 같은 책을 읽어보시길 권해드립니다 :)

 

감사합니다.

heeeeejin2님의 프로필 이미지
heeeeejin2

작성한 질문수

질문하기