• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

스프링 서비스 테스트 코드에 대한 질문

24.01.12 17:11 작성 24.01.12 17:24 수정 조회수 125

0

서비스 계층의 클래스를 테스트하려고 준비하고 있습니다.

 

mock이 너무 많으면 유지보수가 힘들어져서 MemoryRepository를 직접 구현해서 사용하라고 하던데

@DataJpaTest 어노테이션으로 Repository객체의 mock을 대신해도 될까요?

답변 1

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2024.01.12

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

mock이 너무 많으면 유지보수가 힘들어져서 MemoryRepository를 직접 구현해서 사용하라고 하던데

@DataJpaTest 어노테이션으로 Repository객체의 mock을 대신해도 될까요?

해당 상황이라면 @SpringBootTest + 인메모리 DB(혹은 테스트용 DB) 조합으로 사용할 수 있을 것 같은데 @DataJpaTest를 사용하고자 생각하신 이유가 있으실까요?

감사합니다.

김재연님의 프로필

김재연

질문자

2024.01.12

단위테스트시에 @SpringBootTest를 쓰면 안된다고 알고 있어서요.

 

@DataJpaTest하면 인메모리db를 사용할 수 있기도 하고

y2gcoder님의 프로필

y2gcoder

2024.01.12

서비스 단의 단위테스트를 위해 @DataJpaTest를 이용해서 JPA 레포지토리 설정만 자동으로 끌어오려고 하시는군요!

그렇게 해보셔도 괜찮을 것 같습니다 :)