본문 바로가기

Spring/Test

Mock object를 이용한 단위 테스트

1. Mock object (가짜 객체)?

이상적으로, 각 테스트 케이스는 서로 분리되어야 한다. 이를 위해 가짜 객체(Mock object)를 생성하는 것도 좋은 방법이다.

 

 

2.  Mock object 를 왜 사용할까?

분리 되기 어려운 클래스들을 각각 테스트 하기 위해 사용

 

Controller 클래스만 테스트 하기 위한 테스트 범위: Controller, Service, Repository

Service 클래스만 테스트 하기 위한 테스트범위: Service, Repository

Repository 클래스만 테스트 하기 위한 테스트 범위: Repository

 

 

 

3.  Mock object 를 통한 분리

 

 

 

Mock object: 실제 객체와 동일한 클래스명, 함수명이 있는 실제 객체와 겉만 같은 객체

MockRepository: 실제 DB 작업은 하지 않고 DB 작업이 이뤄지는 것처럼 테스트를 위해 필요한 결과값 반환

 

 

4. Mock object 를 통한 테스트 방법 

1) Mock object 직접 구현을 통한 단위 테스트

2) Mockito mock 을 사용한 단위 테스트