initMocks 와 openMocks 의 차의점

김종완·2023년 5월 8일
0

initMocks()와 MockitoAnnotations.openMocks() 모두 Mockito 라이브러리에서 목 객체를 초기화하는 데 사용된다.

하지만 initMocks()는 MockitoJUnitRunner나 MockitoRule을 사용하지 않는 경우에 사용되는 정적 메소드다. 이 방법은 일부 개발자들에게 어색하게 느껴질 수 있으며, 실제 테스트 중에 목 객체를 초기화하는 것이 어디서 발생하는지 명확하지 않을 수 있다.

MockitoAnnotations.openMocks()는 주로 @RunWith(MockitoJUnitRunner::class)와 같은 애노테이션 없이 JUnit 5에서 사용된다. openMocks()는 테스트 클래스 내에서 @Mock와 @InjectMocks 애노테이션이 붙은 필드를 자동으로 인식하여 Mockito가 목 객체를 초기화하고 필드에 할당하는 데 사용된다. 또한 openMocks()는 목 객체 초기화 중에 발생하는 오류를 발견하기 쉽게 한다.

따라서, initMocks() 대신 MockitoAnnotations.openMocks()를 사용하는 것이 좋으며 initMocks는 이미 deprecated 되었다.

profile
개발에 재미를 느끼며 꾸준히 성장하는 개발자 김종완 입니다.

0개의 댓글