티스토리 뷰

Spring의 MessageSource를 사용하려고, message.properties 파일에 한글을 정의하고 나서, 테스트 코드를 실행하던 도중 한글 인코딩이 제대로 되지 않아서 발생했던 에러 해결방법을 정리하려고 한다.

상황

MessageSource 단위 테스트를 진행하기 위해서 아래와 같은 코드를 작성했고, messages.properties 파일은 다음과 같이 정의했다.

// messages.properties
test=테스트
@SpringBootTest
public class MessageSourceTest {

    @Autowired
    private MessageSource messageSource;

    @Test
    void helloMessage() {
        String result = messageSource.getMessage("test", null, null);

        assertThat(result).isEqualTo("테스트");
    }
}

테스트 코드를 실행하고 나니 아래와 같은 에러가 발생하게 되었고, messages.properties 파일에 정의한 한글 인코딩이 되지 않는 문제였다.

Expecting:
 <"???">
to be equal to:
 <"테스트">
but was not.
org.opentest4j.AssertionFailedError: 
Expecting:
 <"???">
to be equal to:
 <"테스트">
but was not.

해결한 방법

해결한 방법은 2가지가 있는데, 첫 번째로 아래와 같이 진행했다.

  • File > Invalidate Caches > INVALIDATE AND RESTART 실행

두 번째 방법은 다음과 같다.

 

  1. Preferences > File Encodings로 이동한다.
  2. Properties Files(*. properties) 항목의 Transparent native-to-ascii conversion을 체크한다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함