fastcampus-eatgo icon indicating copy to clipboard operation
fastcampus-eatgo copied to clipboard

41강 테스트코드 관련하여 문의드립니다.

Open SimKyunam opened this issue 4 years ago • 1 comments

선생님 강의를 잘 보고 있는데, 테스트 코드중에 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}]"

에러를 출력하고 있습니다. 인코딩 바꾸는 방법대로 해봤는데 해결이 안되서 문의 드립니다 ㅠ.

SimKyunam avatar Aug 09 '20 14:08 SimKyunam

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

ahastudio avatar Sep 27 '20 17:09 ahastudio