728x90
반응형

mockmvc 3

MockMvc

MockMvc MockMvc란 실제 객체와 비슷한데 Test를 할때 필요한 기능만 가지는 가짜 객체를 만들어 스프링MVC 동작을 재현할 수 있는 클래스이다. build.gradle testCompile('org.springframework.boot:spring-boot-starter-test') 의존성을 추가해준다. 가장 간단한 GET방식을 알아볼 것인데, Http Method의 post, put, patch, delete 들은 어디서 넣으면 테스트 할 수 있는지 별도의 주석으로 첨부하도록 하겠다. Controller 추가 일단 Controller를 추가해준다. @RestController public class MockTestController{ @GetMapping("/mockTest"..

Java 2022.08.04

[Spring] MockMvc Bean 주입 에러

Mock 빈 오류에 관해서 그동안 혼자 공부한 것들을 토대로 프로젝트를 하나 해보려고 한다. 나름 공부한다고 공부를 했는데 HelloWorld 구현하는데 컨트롤러를 만들어두고 테스트 코드를 내의지대로 처음 작성해봤다. MockMvc 클래스를 사용하여 Mock Bean을 주입받으려고 했더니 빈이 등록되지 않았다는 오류를 받았다. 일단 오류에는 두가지가 있었다. @SpringBootTest 어노테이션을 사용할때 @WebMvcTest도 같이 사용해서 MockBean을 주입받는줄 알고 바로 넣었는데 두 Mock객체가 공유되어있는 객체가 아니고 서로 다른 객체이다. 그래서 두개의 빈이 충돌이 발생한다. 여기서 해결책은 두가지였다. @SpringBootTest와 @AutoConfigurationMockMvc를 사용..

Spring 2022.08.04

Spring Test MockMvc 한글 깨짐 처리

Spring Test MockMvc의 한글 깨짐 처리 스프링에서 테스트 코드를 작성할 때 MockMvc를 흔히 사용한다. 대략 아래와 같이 설정하고 사용한다. 변경일자 2022-04-19 수정 MockMvc를 보통 테스트코드를 작성할 때 사용할텐데, @WebMvcTest를 사용해서 mvc를 위한 테스트를 만들 수 있다. //@SpringBootTest @WebMvcTest(ApiController.class) public class ApiControllerTest { private MockMvc mockMvc; @Autowired private WebApplicationContext ctx; @BeforeEach public void setup() { this.mockMvc = MockMvcBuilder..

Spring 2022.08.03
728x90
반응형