MSA구조 프로젝트에서 모듈 테스트를 진행하던 도중 Build failed가 되었다.

명확한 오류가 나오지 않아 다음 명령어를 cmd 창에서 실행했다.
gradlew :common:snowflake:test --stacktrace
다음과 같은 오류를 발견할 수 있었다.
Caused by: org.gradle.api.internal.tasks.testing.TestWorkerFailureException: Test process encountered an unexpected problem.
at org.gradle.api.internal.tasks.testing.logging.TestCountLogger.handleWorkerFailures(TestCountLogger.java:183)
Caused by: org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'kuke.board.common.snowflake.SnowflakeTest'.
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
Caused by: java.lang.ClassNotFoundException: kuke.board.common.snowflake.SnowflakeTest
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
... 20 more
요약하자면 Gradle이 SnowflakeTest 클래스를 찾지 못해서 ClassNotFoundException이 발생하는 상황이었다.

하지만 테스트 코드의 위치 자체는 올바르게 src>test>java 하위에 존재하고 있었다.
구글링을 조금 해보니 프로젝트가 위치한 경로에 한글이 존재하면 인코딩 시 깨져서 발생할 수 있는 문제라고 한다. 실제로 C:\Users\[user명]\Desktop\[한글 디렉토리명]으로 되어 있기는 했다.
찾아본 결과 다음 설정을 진행하면 된다고 한다.
1. vm 옵션 설정하기
루트 경로에 gradle.properties 파일을 생성해
Dfile.encoding=UTF-8
Dconsole.encoding=UTF-8
위 내용을 명시해준다.
2. 빌드도구 > Gradle에서 빌드/테스트 실행환경 IntelliJ IDEA로 변경하기

3. 파일 인코딩에서 인코딩 관련을 모두 UTF-8로 설정하기

보통은 이 3개의 과정을 모두 거치면 테스트가 성공하는데...

나는 여전히 실행이 되지 않고 있는 상태였다.
따라서 프로젝트 디렉터리를 모두 영어로 변경해준 뒤 다시 실행해보았더니

테스트에 성공했다.
'자바 > 스프링부트' 카테고리의 다른 글
| Enum Converter를 모든 Enum에서 새로 생성해야할까? (0) | 2026.01.08 |
|---|---|
| Docker MySQL + Spring Boot 연결 오류 해결기 (feat. 포트 충돌) (0) | 2025.12.11 |
| Github Actions + AWS EC2 로 간단하게 스프링 부트 프로젝트 CI/CD 파이프라인 구축하기 (0) | 2025.11.25 |
| Jenkins를 이용해 스프링 부트 프로젝트 CI/CD 파이프 라인 구축하기 (0) | 2025.11.20 |
| [Java / Spring] Redis 이용한 대기열 시스템 구현 (0) | 2025.10.27 |