우리는 MovieService 에 영화 평점 순으로 정렬하는 기능을 구현할 것입니다. 온라인 바카라 코드를 작성하기 전에 MovieService 클래스를 먼저 볼게요. 스프링의 @Service 어노테이션이 선언되어있습니다. MovieService 는 스프링부트가 실행될 때 ComponentScan에 의해서 Bean 으로 등록이 될 것입니다.
MovieService 는 Bean(빈)으로 등록이 되는 과정에서,MovieRepository를 의존성 주입 받습니다. 즉, MovieService 객체를 생성하기 위해서는 반드시 생성자에 MovieRepository가 주입되어야온라인 바카라. 하지만, 생각처럼 쉽지는 않습니다. 이유는, 주입되는 MovieRepository 역시 Bean 으로 등록이 되는 컴포넌트이며, NaverProperties 와 RestTemplate 를 의존성 주입 받기 때문입니다.
이해가 잘 안되시는 분을 위해서, 아주 허접한 그림을 그려봤습니다.
평점 순 정렬 기능이 구현되는 MovieService 클래스를 만들기 위해서는, MovieRepository 를 만들어서 넣어줘야 하며, 추가로 NaverProperties 와 RestTemplate 까지 만들어서 넣어줘야 온라인 바카라.MovieService의기능을 온라인 바카라하기 위해서 너무 많은 객체를 주입해줘야온라인 바카라.
이런 경우에는 Mock 객체를 사용해야 온라인 바카라.
그림의 오른 쪽 핑크색 영역이 전부 Mocking 이 될 것입니다.
온라인 바카라 코드에 MovieRepository 를 상속받는 MockMovieRepository라는 이름의 내장 클래스를 정의합니다. 그리고MockMovieRepository 클래스로 만든 가짜객체를 MovieService 에 주입온라인 바카라.
아래와 같이 Mock 클래스를 만들어줍니다.
그리고, 온라인 바카라 코드에서 Mock 클래스를 주입해주면 됩니다.
온라인 바카라를 실행하면 성공했다는 메시지를 확인할 수 있습니다.
display 가 제대로 표시되지 않는다면, 인텔리 J 에서 아래 설정을 해주세요.
하지만, 위에 작성한 코드는 Mock 클래스를 직접 생성해야 하기 때문에 코드가 조금 지저분온라인 바카라. Mockito 라는 라이브러리를 사용해보겠습니다.