./gradlew test --info
실행 시 테스트는 성공했으나, 클래스(예: main 클래스)를 직접 실행하면 실패함.> Task :test FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///C:/Users/xxx/%EB%B0%94%ED%83%95%20%ED%99%94%EB%A9%B4/develop_study/junit5-practice/build/reports/tests/test/index.html
Try:
> Run with --scan to get full insights.
BUILD FAILED in 3s
빌드 로그 확인:
-Dfile.encoding=UTF-8
옵션이 제대로 적용되었음을 확인../gradlew --stop
) 및 재실행을 통해 JVM 옵션이 변경되었는지 점검.경로 및 인코딩 검토:
C:\Users\jisu0\바탕 화면\develop_study\junit5-practice
테스트와 클래스 직접 실행 환경 차이 검토:
test
태스크는 별도의 working directory 및 JVM 옵션을 적용하여 테스트를 실행하는 반면,JVM 인코딩 옵션 강제 설정:
gradle.properties
에 org.gradle.jvmargs=-Dfile.encoding=UTF-8
추가하여 Gradle 실행 시 인코딩 일관성 확보.systemProperty 'file.encoding', 'UTF-8'
을 추가.Gradle 데몬 재시작:
./gradlew --stop
명령어로 데몬을 모두 종료 후 재시작.작업 디렉토리 및 리소스 로딩 방식 점검:
문제 원인:
최종 원인은 프로젝트 경로에 한글(비 ASCII)이 포함되어 있어서, Gradle이 직접 클래스 실행 시 파일 경로나 리소스 로딩에 문제가 발생했던 것이었습니다.
해결 방법:
프로젝트 경로 변경:
한글이나 특수 문자가 포함되지 않은 경로로 프로젝트를 이동시킴.
예:
기존: C:\Users\jisu0\바탕 화면\develop_study\junit5-practice
변경: C:\develop_study\junit5-practice
검증:
경로를 영어만 사용하는 위치로 변경한 후 Gradle을 통한 ./gradlew test
실행 시 정상적으로 테스트가 통과됨.
→ 클래스 직접 실행 역시 동일한 경로에서 문제 없이 동작함.
문제 포착:
Gradle의 테스트 실행과 클래스 직접 실행 간 환경 차이를 확인한 후, 최종적으로 경로에 한글 포함 여부가 문제임을 파악함.
해결 노력:
JVM 옵션, 인코딩 설정, Gradle 데몬 재시작 등 다양한 방법을 시도함.
최종 해결:
프로젝트 경로를 영어(ASCII)만 포함된 경로로 변경하여 문제를 해결함.
이와 같이 경로에 한글이 포함된 것이 문제의 원인이었으며, 전체 경로를 영어로 변경함으로써 Gradle 테스트와 클래스 직접 실행 모두 성공적으로 동작하게 되었습니다.