fastcampus-eatgo
fastcampus-eatgo copied to clipboard
41강 테스트코드 관련하여 문의드립니다.
선생님 강의를 잘 보고 있는데,
테스트 코드중에 User
객체를 만들면서 한글이름을 입력하는 부분이 있습니다.
List<User> users = new ArrayList<>();
users.add(User.builder()
.email("[email protected]")
.name("테스터")
.level(1L)
.build());
given(userSevice.getUser()).willReturn(users);
mvc.perform(get("/users"))
.andExpect(status().isOk())
.andExpect(content().string(containsString("테스터")));
저 부분에서
Expected: a string containing "테스터"
but: was "[{"id":null,"email":"[email protected]","name":"í
ì¤í°","level":1,"admin":false}]"
에러를 출력하고 있습니다. 인코딩 바꾸는 방법대로 해봤는데 해결이 안되서 문의 드립니다 ㅠ.
Spring Boot 2.2부터 생긴 버그입니다.
.perform(BLAH-BLAH)
.contentType(MediaType.APPLICATION_JSON_UTF8) // ← 이 줄을 추가하세요.
.andExpect(BLAH_BLAH)
제 경우엔 그냥 한국어 대신 영어를 쓰도록 코드를 수정했습니다. https://github.com/ahastudio/fastcampus-eatgo/pull/10#discussion_r353239462