[java] Mockito를 사용하여 테스트 대상 클래스의 상속/인터페이스 구현 여부를 확인하는 방법은?
Mockito.mock()
메서드를 사용하여 테스트 대상 객체를 모킹합니다.
// 대상 클래스의 상속/인터페이스 구현 여부를 확인하려는 객체를 모킹합니다.
MyClass myClassMock = Mockito.mock(MyClass.class);
Mockito.verify()
메서드를 사용해 테스트 대상 객체의 메서드 호출을 검증합니다. 이때Mockito.mock()
메서드를 사용하여 모킹한 객체를 전달합니다.
// 상속 여부를 확인하려면 해당 클래스의 메서드를 호출합니다.
myClassMock.someMethod();
// 인터페이스 구현 여부를 확인하려면 해당 인터페이스의 메서드를 호출합니다.
myClassMock.someInterfaceMethod();
// 호출된 메서드의 호출 여부를 검증합니다.
Mockito.verify(myClassMock).someMethod();
Mockito.verify(myClassMock).someInterfaceMethod();
Mockito.verifyNoMoreInteractions()
메서드를 사용하여 검증 이후에 더 이상의 메서드 호출이 없는지 확인할 수 있습니다.
// 검증 이후에 더 이상의 메서드 호출이 없는지 확인합니다.
Mockito.verifyNoMoreInteractions(myClassMock);
위의 예제에서는 MyClass
클래스의 상속 여부를 확인하기 위해 someMethod()
메서드를 호출하고, 인터페이스 구현 여부를 확인하기 위해 someInterfaceMethod()
메서드를 호출합니다. 그런 다음 Mockito.verify()
메서드를 사용하여 호출된 메서드의 호출 여부를 검증합니다.
참고 자료:
- Mockito 공식 문서 (https://site.mockito.org/)
- Mockito API 문서 (https://javadoc.io/doc/org.mockito/mockito-core/latest/index.html)