You can make anything
by writing

C.S.Lewis

[임시 글..나온라인 바카라 지울 예정]
단위 온라인 바카라 예습

스터디 중에.. 온라인 바카라 코드 작성이 너무 어렵다는 분들이 계셔서, 단위 온라인 바카라에 대해서 간략하게 먼저 소개합니다. 이 글은, 제가 이전에 작성했던 아래 글의 내용의 일부를 인용하였습니다.

/@springboot/418




우리는 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 라는 라이브러리를 사용해보겠습니다.



Mockito 를 편하게 사용하기 위해서, 어노테이션을 추가온라인 바카라.

그리고, 아래와 같이 Mock 객체를 정의온라인 바카라.

온라인 바카라 코드에서는..

참고로,BBDMockito 를 사용한것입니다.

온라인 바카라를 실행해보면.. 잘 성공합니다.



https://github.com/sieunkr/spring-study-group/blob/master/2-4/src/test/java/com/example/demo/service/MovieServiceTest.java



MovieService 가 아니라MovieGroup 을 단위온라인 바카라 해도 됩니다. 우리는 MovieGroup 이라는 일급컬랙션을 사용하였기 때문에, 의존성 없이 온라인 바카라할 수 있습니다.


https://github.com/sieunkr/spring-study-group/blob/master/2-4/src/test/java/com/example/demo/core/MovieGroupTest.java


자세한 설명은 4주차에 다시 하겠습니다. 참고하시고, 대략 이런식으로 하시면 됩니다.....

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari