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

김세희님의 프로필 이미지
김세희

작성한 질문수

실전! Querydsl

Querydsl 설정과 검증

테스트에서 QHello 클래스를 임포트 하여 사용할 수 없습니다

해결된 질문

작성

·

394

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
강의 자료에 있는 대로 build.gradle을 작성하고 q 파일까지 생성이 되었습니다

 

그런데 main 폴더 아래 클래스에서는 QHello를 잘 사용할 수 있지만 테스트 클래스인 QuerydslApplicationTests에서는 사용할 수가 없습니다.

 

구글 드라이브에 파일을 압축해서 올렸습니다. 혹시 한번 봐주실 수 있나요? 아래는 구글 드라이브 링크입니다

https://drive.google.com/file/d/1e5goKq_r3g5SeaWa2xHAmBJ_7tmmIxt_/view?usp=sharing

답변 2

1

안녕하세요. 김세희님, 공식 서포터즈 OMG입니다.

프로젝트 코드 확인해보았습니다.

프로젝트를 열어보니 JDK19로 인식을 하더라구요.

image

(1) JDK 17로 버전을 변경하고

image

(2) gradle 코끼리 버튼을 클릭하여 의존성 reload

image

(3) 테스트코드 작성

이렇게 하여 정상 성공하였습니다.

image

자바 버전을 17로 변경하여 확인해보시겠어요?

감사합니다.

김세희님의 프로필 이미지
김세희
질문자

해결하였습니다 감사합니다

0

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

김세희님, 질문하신 테스트 클래스에서 QHello 클래스를 사용할 수 없는 문제와 관련하여 유사한 상황을 겪었던 다른 수강생들의 질문을 찾아보았습니다. 아래의 URL을 참고해 보시는 것을 추천드립니다.

  • querydsl 설정 후 테스트 코드 실행 시 QHello 에러”: 이 경우에는 q 파일이 생성된 후 테스트 코드를 실행할 때 나타나는 문제에 대한 질문입니다. 커뮤니티 대화 내역에서는 querydsl의 특정 버전과 설정을 확인하는 과정을 거치는 것이 도움이 되었다는 답변을 확인할 수 있습니다.

테스트 클래스에서 QHello를 사용할 수 없다면, Gradle 빌드 스크립트의 설정에서 sourceSets을 확인하여 테스트 코드가 q 파일을 인식할 수 있도록 설정되어 있는지 검증할 필요가 있습니다. 예를 들어, 아래와 같이 sourceSets에서 테스트 디렉터리에 Q 클래스 파일들을 인식할 수 있도록 추가할 수 있습니다.

sourceSets {
    main {
        java {
            srcDir 'src/main/java'
            srcDir '생성된 Q클래스가 있는 경로'
        }
    }
    test {
        java {
            srcDir 'src/test/java'
            srcDir '생성된 Q클래스가 있는 경로'
        }
    }
}

또한, QHello 파일의 생성 위치가 테스트 클래스에서 접근 가능한 경로에 있는지 확인하시기 바랍니다.

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

김세희님의 프로필 이미지
김세희

작성한 질문수

질문하기