@WebMvcTest
이름 그대로 MVC를 위한 테스트이다. 테스트할 특정 컨트롤러 클래스르 명시하여 사용한다.
WebApplication 관련된 Bean만 등록하므로 통합 테스트보다 가볍고 빠르다.
단순히 위와 같은 컨트롤러가 있을 때
사실 현재 예제에서 ItemService가 하는 것이 아무것도 없기 때문에 위와 같이 @BeforeEach로 setUp을 해주지 않아도
테스트는 통과한다.
테스트 코드를 보면 바로 이해가 갈 것이다. get방식으로 "/hello"로 접근했을 때 HTTP 상태코드가 ok(200)이고, content가 hello와 동일한지를 체크한다. 이외에 contentType을 확인할 수도, perform을 하면서 contentType을 미리 지정해줄 수도 있다.
컨트롤러로 들어오는 json을 검증할 수도 있음.
Reactor
Reative Spring은 비동기 & 논블록을 위해 도입된 개념이다.
반응형