Test

MockMvc 한글 깨짐 이슈

Bong Gu 2021. 2. 25. 17:26
728x90

MockMvc 한글 깨짐 이슈

이슈

  • mockMvc로 테스트 결과로 나오는 Response의 한글이 깨지는 이슈 발생

    image-20210225165754142

해결

  1. MockMvc를 주입받지 말고 직접 build하여 사용
 @Autowired private WebApplicationContext ctx; protected MockMvc mockMvc; @BeforeEach public void mockMvcSetup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(ctx) .addFilters(new CharacterEncodingFilter("UTF-8", true)) // 필터 추가 .alwaysDo(print()) .build(); }
  • 설정할것이 많음.
  • 시큐리티 관련 설정들이 안된다. (설정 추가가 필요한 것 같다.)
  1. Properties 설정

    image-20210225170509541
    • 위 설정을 해주면 된다고 한다.

    • Deprecated 됨

      • 변경된 properties
     server.servlet.encoding.charset=UTF-8 server.servlet.encoding.enabled=true server.servlet.encoding.force=true
    • 위 설정이 서비스에는 불필요한 설정일 수 있으므로 test에만 적용

      image-20210225170937130
      • ControllerTest의 공통 부모 Class인 BaseControllerTest에 해당 프로퍼티를 적용하도록 설정
    • 성공

      image-20210225171534963
    • SpringBootTest 가 아닌경우 해당 설정이 안먹을 수 있다.
      그런경우 1번 방법을 적용해보자.


728x90