Spring Study

메시지 국제화 오류

yeon.___.jin 2025. 6. 29. 17:36
반응형

아직 공부 중인 학생이라 부족한 부분이 있을 수 있습니다. 

혹시라도 틀린 부분이 있다면 언제든지 댓글로 남겨주세요. 감사합니다 🙇‍♂️


스프링 MVC2편 섹션4 메시지, 국제화 강의 따라 실습 중 아래 테스트 코드에서 계속 오류가 발생했다. 

 

package hello.itemservice.message;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.MessageSource;

import java.util.Locale;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest
public class MessageSourceTest {

    @Autowired
    MessageSource ms;

    @Test
    void helloMessage() {
        String result = ms.getMessage("hello", null, Locale.KOREA);
        assertThat(result).isEqualTo("안녕");
    }

}

 

강의와 완전히 동일하게 코드를 작성했음에도 테스트가 계속 실패했다.

예상값 "안녕"과 실제값이 일치하지 않는 에러가 계속 발생했다. 

 

강의 pdf 파일에 한글 깨짐이 발생하는 경우라는 부분을 발견했고, 

Setting -> Editor -> File Encodings에서 설정을 변경했는데도 테스트에 실패했고, 한참을 삽질한 끝에 properties 파일 자체에 저장된 한글이 깨져있던 것이 원인임을 알게 되었다. 

 

 

messages.properties 파일을 열어보니 위의 사진처럼 ??으로 변해있었다. 

 

hello=안녕
hello.name=안녕 {0}

다시 기존코드로 수정했다. 

 

바꾸고 나니 테스트에 성공하였다.

휴 ~ 얼마만에 보는 초록불인지 .. 

 

처음에는 단순한 코드 문제인 줄 알았는데, 결국 원인은 인코딩 설정 + 한글 깨짐 이었다 .. 

반응형

'Spring Study' 카테고리의 다른 글

[스프링 MVC] #11  (0) 2025.05.25
[스프링 MVC] #10  (0) 2025.05.17
[스프링 MVC] #9  (0) 2025.05.14
[스프링 MVC] #8  (0) 2025.05.10
[스프링 MVC] #7  (0) 2025.05.04