각 테스트 케이스는 분리가 되어야 한다.
예를 들어, ProductService를 테스트하는데 Repository들을 주입을 받아와야 하는데.
우리는 둘을 분리하여 Service만 테스트하고 싶다. 이걸 해결하기 위한 MockObject를 생성해야한다.
Mockito를 사용해 MockObject를 만들 수 있다.
외부에서 가짜객체(MockObject)를 만들어서 주입해준다.
이렇게 테스트 케이스를 작성했지만 실패를 한다. 왜그럴까?
위 코드에서는 productId에 100L값이 들어가있지만 실제로는 updateProduct시 100번째의 값이 존재하지 않는다.
Mock을 통해서 가짜 객체를 만들고 전달했다고 끝나는 것이 아니다.
사용하는 부분까지도 우리가 직접 넣어주어야 한다. 아래와 같다
'WTIL' 카테고리의 다른 글
TIL-27 AOP란 무엇인가 (0) | 2023.07.25 |
---|---|
TIL-26 TenThread 프로젝트 도중 발생한 문제 (0) | 2023.07.19 |
TIL-24 테스트에 필요한 어노테이션 (0) | 2023.07.17 |
TIL-23 스프링 연관관계 N:M 관계 2번째 방법 중간테이블 직접 생성 (0) | 2023.07.13 |
TIL-22 스프링 연관관계 N:M 관계 1번째 방법 (0) | 2023.07.13 |