다오의 개발일지

TIL-25 Mockito 본문

WTIL

TIL-25 Mockito

다오__ 2023. 7. 17. 05:45

각 테스트 케이스는 분리가 되어야 한다.

예를 들어, ProductService를 테스트하는데 Repository들을 주입을 받아와야 하는데. 

우리는 둘을 분리하여 Service만 테스트하고 싶다. 이걸 해결하기 위한 MockObject를 생성해야한다.

 

Mockito를 사용해 MockObject를 만들 수 있다.

외부에서 가짜객체(MockObject)를 만들어서 주입해준다.

이렇게 테스트 케이스를 작성했지만 실패를 한다. 왜그럴까?

위 코드에서는 productId에 100L값이 들어가있지만 실제로는 updateProduct시 100번째의 값이 존재하지 않는다.

Mock을 통해서 가짜 객체를 만들고 전달했다고 끝나는 것이 아니다.

사용하는 부분까지도 우리가 직접 넣어주어야 한다. 아래와 같다