본문 바로가기

Java

(Java) Junit Test -Mock

 

import static org.mockito.Mockito.when;
import static org.mockito.BDDMockito.given;

Spring에서 Junit Test 진행

 

Mock 객체를 when().thenReturn() 하는 경우와

given().willReturn() 하는 경우가 있다.

 

when().thenReturn() 은 Mockito 패키지 사용

given().willReturn()은 BDDMockito 패키지 사용한다.

 

둘 사이의 차이점. 성능 이슈는 있는가?

 

Mockito 란?

과거 자바 프로젝트를 진행하면서 가장 힘들었던 부분이 아마도 의존성 관리일 것이다.

spring framework 이러한 의존성 관리를 지원해준다. DI(Dependency Injection)

그래서 DI 신경 안쓰고 객체 설계 하면 된다.

 

그런데 이러한 의존성은 테스트를 할 때 단위 기능만 테스트를 하고 싶은데

의존성을 가지는 다른 객체에 의해 테스트 결과가 영향을 받을 수 있다.

 

이러한 영향을 차단하고 테스트를 지원해주는 것이 Mock 객체이고

이러한 Mock 객체를 쉽게 만들고 관리하게 해주는 패키지가 Mockito이다.

 

Spring에서 Mockito를 사용하려면 @ExtendWith(MockitoExtension.class)를

명시하면 된다.

 

위의 글 참고 자료 : https://bit.ly/3aB83Sk