Mockito 사용법
Mockito 의존성 설정, 기초적인 사용법을 알아봅니다.
Goal
- Mokcito의 설정, 기본적인 사용법을 알아봅니다.
@ExtendWith(MockitoExtension.class)
사용시 필요한 의존성을 알아봅니다.
Mockito 기본 사용법
의존성 추가
gradle 기준
1 |
|
전체 의존성
1 |
|
Mocking할 객체
1 |
|
- 현재 member 객체는 항상
getId()
시 항상 7을 반환하고 있습니다.
테스트 코드
통과
1 |
|
1 |
|
- member 인스턴스를 만드는 작업 조차 없었지만, NPE가 발생하지 않고 7이 아닌 10을 리턴하는것을 테스트 코드를 통해 확인할 수 있습니다.
@ExtendWith(MockitoExtension.class)를 이용하여, init이나 open 메소드 호출 생략하기
- https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#junit5_mockito
- https://javadoc.io/doc/org.mockito/mockito-junit-jupiter/latest/org/mockito/junit/jupiter/MockitoExtension.html
- https://stackoverflow.com/questions/40961057/how-to-use-mockito-with-junit5
의존성 추가
1 |
|
core
를 그대로 사용하는것이 아니라, 한층 더 확장된junit-jupiter
를 사용해야합니다.- 참고로 스프링 부트를 사용하는경우,
spring-boot-starter-test
에 의존성이 알아서 추가가 되어있습니다.
테스트 코드
1 |
|
1 |
|
생략된 작업
1 |
|
MockitoAnnotations.openMocks(this)
작업을 생략해도 Mocking이 정상적으로 이루어지는것을 확인할 수 있습니다.
Code
- 해당 코드들은 전부 github 에서 보실 수 있습니다.
Reference
- https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#junit5_mockito
- https://javadoc.io/doc/org.mockito/mockito-junit-jupiter/latest/org/mockito/junit/jupiter/MockitoExtension.html
- https://mincong.io/2020/04/19/mockito-junit5/
- https://tech.lattechiffon.com/2021/07/03/junit5%EC%99%80-mockito%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-mock-test-java/