반응형
Spring 또는 Spring boot에서 JUNIT을 사용하여 API(Controller) 테스트 코드를 작성할 때, 다음과 같이 MockMvc를 사용합니다.
@SpringBootTest
@AutoConfigureMockMvc
@Transactional
class SubjectsControllerTest {
@Autowired
MockMvc mvc;
@Test
public void 상품검색() throws Exception {
String keyword = "스포츠";
MvcResult result = this.mockMvc
.perform(get("/api/search/" + keyword))
.andExpect(status().isOk())
.andReturn();
}
}
}
이때, 검색 조건 및 검색 결과의 한글이 모두 깨져서 보이지 않는 경우가 있습니다.
이때 CharacterEncodingFilter를 사용하여 쉽게 해결할 수 있습니다.
@BeforeEach
public void setup() {
this.mvc = MockMvcBuilders.webAppContextSetup(ctx)
.addFilters(new CharacterEncodingFilter("UTF-8", true)) // 필터 추가
.alwaysDo(print())
.build();
}
728x90
반응형
'back end > java' 카테고리의 다른 글
[Gradle] dependency 가 포함된 jar 만드는 방법 (0) | 2023.06.27 |
---|---|
Java에서 디스크 사용량 (Disk Usage) 구하는 방법 (0) | 2023.06.15 |
Spring Boot에서 log4j2 설정하는 방법 (1) | 2023.02.25 |
Spring Boot: 웹 애플리케이션을 빠르고 쉽게 구축하는 방법 (0) | 2023.02.17 |
Java Spring: 애플리케이션 개발의 가장 핫한 프레임워크 (0) | 2023.02.17 |