SpringBoot에서 특정 Layer를 타켓으로 테스트가 가능하다.
특정 Layer만 테스트하기 때문에
@SpringBootTest 보다 효율적인 테스트가 가능하다.
슬라이스(Slice) 테스트를 한다는 건
특정 Layer를 타켓으로 테스트를 한다는 뜻이다.
ex) Controller Layer, Service Layer
이 글에서는 Controller Layer를 타켓으로
슬라이스(Slice) 테스트하는 방법에 대해 알아본다.
Application.class
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(Application.class);
application.setWebApplicationType(WebApplicationType.NONE);
application.run();
}
}
WebApplicationType 을 NONE으로 설정하고
실행하면 애플리케이션이 바로 종료된다.
WebApplicationType
public enum WebApplicationType {
NONE,
SERVLET,
REACTIVE;
...
}
서버 포트를 설정해야 해당 값으로 클라이언트가 요청을 할 수 있다.
일반적으로 Default로 8080을 사용하는데
상황에 따라 임의로 지정한 포트를 사용해야할 경우가 있다.
혹은 랜덤한 포트를 사용할 경우가 필요할 경우도 있다.
이 글에서는 랜덤한 포트를 사용하려고 하는 경우
올바르게 포트를 설정하는 방법에 대해 알아본다.