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

ailen22님의 프로필 이미지
ailen22

작성한 질문수

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

ExperienceRepositoryTest 실행 오류

해결된 질문

작성

·

40

·

수정됨

0

2.jpg1.jpg3.jpg

 

 

++++

테스트파일에서 오타가 난 줄 알았는데 레포지토리 파일 모두 오타가 나있었네요!!

감사합니다!

 

답변 2

0

정보근님의 프로필 이미지
정보근
지식공유자

안녕하세요 정보근입니다:)

 

프로젝트 클론해서 실행해본 결과 findAllByIsActive 메소드에 오타가 있네요.

오타 수정 후 테스트 통과하는 것 확인했습니다.

아마 로그 메시지를 조금 더 자세히 살펴보셨으면 충분히 해결 가능하셨을 문제 같습니다ㅎㅎ

 

부연 설명을 드리자면,

직접 쿼리나 JPQL 등을 작성하지 않고 인터페이스에 메소드를 선언하는 것만으로 데이터 접근이 가능한 이유는

스프링 데이터 JPA에서 제공하는 네임드 쿼리(또는 쿼리 메소드) 기능 때문입니다.

JpaRepository를 상속하는 인터페이스가 있다면,

스프링 데이터 JPA가 그 인터페이스의 메소드명을 분석해서 기능을 대신 구현해주는 셈이에요.

따라서 오타나, 규칙에 맞지 않는 메소드명을 작성하면 스프링이 제대로 실행되지 않는답니다.

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

ailen22님께서 경험하신 테스트 코드 실행 오류는 ParameterResolutionException으로, 이는 Spring Boot 테스트 환경에서 ApplicationContext 로딩 실패와 관련이 있을 수 있습니다.

이와 유사한 문제에 대한 해결 방법을 담고 있는 두 개의 질문을 참고하시길 추천합니다:

  1. org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter:

    • 이 질문에서는 DataJpaTest 관련 설정에서 발생할 수 있는 문제를 다루고 있습니다. 주로, Spring Boot 테스트는 ApplicationContext를 필요로 하므로, 테스트 클래스에 필수적인 Bean 설정이 정확한지 확인해야 합니다.
  2. Kotlin: Unresolved reference: MappedSuperclass:

    • 이 게시물에서는 JPA 설정이 올바르게 되어 있는지 확인하는 것이 중요하다고 설명합니다. spring-boot-starter-data-jpa가 추가되어 있는지 확인하세요.

의도하신 대로 잘 동작하지 않는 경우, 몇 가지 확인해야 할 사항을 들여다보세요:

  • Gradle의 종속성에서 spring-boot-starter-data-jpa 및 관련 JPA 종속성이 전부 포함되어 있는지 확인합니다.
  • @DataJpaTest 애너테이션을 사용 중이라면, Embedded Database를 사용하는 환경에서 해당 테스트가 동작하도록 설정이 맞춰져 있는지 점검합니다.
  • application.properties 또는 application.yml에서 테스트 환경에 맞는 데이터베이스 설정도 확인해주세요.

이 외에도, 문제를 완전히 해결하기 어려운 경우, 해당 소스 코드나 설정 파일을 공유하면서 추가 질문을 남기시면 더 구체적인 조언을 드리기 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ailen22님의 프로필 이미지
ailen22

작성한 질문수

질문하기