백오피스 만들기 프로젝트 (1): Mock? Mockito? MockBean?

김재현·2023년 12월 5일
0

TIL

목록 보기
49/88
post-thumbnail
  • 프로젝트명 : "가시죠, 백오피스 만들기 프로젝트"
  • 프로젝트 소개 : 사용자 Role에 따라 인가할 수 있는 관리자 기능을 만드는 프로젝트 입니다.
  • 사용 기술: #Java #Spring Boot #JPA #MySQL #Redis
    GitHub: https://github.com/k-jaehyun/IForest.git

팀플의 시작

오늘은 또 다시 새로운 팀플의 시작!
항상 좋은 팀원분들 만나서 즐겁게 진행할 수 있어서 기쁘다😊

이번 팀의 팀명은 "가시죠"

팀플하러 가시죠!!!

>프로젝트 발제 노션 자료

회의를 통해 '익명커뮤니티 사이트 만들기'를 채택했다.

구조적으로 이전 팀프로젝트와 비슷해서 쉬운 느낌이 있다. 내가 맡은 부분은 빠르게 구현하고 추가 구현 사항에 시간을 쏟아야겠다.
1차적으로 내가 맡은 역할은 사용자인증이라서 가장 먼저 해야하는 작업이었다. 그렇기 때문에 회의가 끝난 즉시 빠르게 회원가입 및 로그인이 가능하도록 만들어서 팀원들에게 넘겨주었다.

그렇게 높은 벽만 같았던 Spring Security를 이제는 빠르게 해치울 수 있다니... 많이 성장했다 나란녀석.


테스트코드 작성을 처음 시작하며 헷갈렸던 개념들을 정리하고 넘어가자.

Mock? Mockito?

테스트코드 작성 개인과제에서 몸도 마음도 털렸지만 배운점은 있었다.
그중에서도 Mock이란 개념이다.

Mock이란 실제 객체를 만들기에는 비용과 시간, 의존성이 크게 걸쳐져 있어 테스트 시 제대로 구현하기 어려울 경우 만드는 가짜 객체를 말한다.

Mockito란 Mock Object를 간편하게 만들게 해주는 라이브러리이다. Mock 객체를 자동으로 생성해줘서 직접 구현하지 않아도 되게끔 해준다.

Mock? MockBean?

@MockBean과 @Mock은 둘 다 테스트에서 목객체(Mock Object)를 생성하는데 사용되는 어노테이션이다.
하지만 Mockito에서의 @MockSpring에서의 @MockBean으로 나뉜다고 할 수 있다.

Mockito에서의 @Mock

@Mock은 주로 Mockito 프레임워크에서 사용되는 어노테이션으로, 단위 테스트에서 목객체를 생성하는데 사용한다.

Spring에서의 @MockBean

주로 Spring의 통합 테스트 또는 슬라이스 테스트에서 Spring 컨텍스트에 등록된 빈을 대체하여 테스트에서 사용되는 빈에 대한 목객체를 주입할 때 사용한다.

그래서 무슨 차이??

한마디로, mock은 객체에, mockbean은 bean으로 등록된 객체에 사용!!


이후에는 새로운 메서드들과 왜안되지 로직과의 싸움의 연속이다...
세상의 모든 개발자들 모두 화이팅..!!


관련 포스팅

Following Post

profile
I live in Seoul, Korea, Handsome

0개의 댓글