Spring 심화주차/1주차

5. Mockito란 무엇일까?

note994 2024. 9. 11. 19:53

ProductServiceTest.java
0.00MB
ProductService.java

테스트 코드에서는 Bean객체를 주입받아 사용하는 메서드를 어떻게 처리할까?

 

ProductServiceTest.java

@Mock이 붙어있는 객체는 가짜객체이다. 

Mockito가 가짜객체를 넣어준다.

이 가짜객체를 이용해서 Service 코드를 테스트할 수 있다.

Service 테스트를 하려하는데 Repository에 연결이 되어있어서 분리해서 테스트를 할 수 없는 상황이다. 이런 문제점을 해결하기 위해 Mockito라는 프레임워크가 만들어졌다.

ProductServiceTest.java

가짜 객체를 사용해서 Service 생성자를 만들어서 테스트하고있다.

 

하지만 그대로 사용하면 오류가 발생한다. 

 

41번줄에서 productService.updateProduct(productId, requestMyPriceDto);에서 productId의 번호를 찾지 못해 오류가 발생한다.

 

ProductService.java

이 부분을 직접 구현해줘야 한다.

ProductServiceTest.java

우리가 직접 값을 넣어준것이다.