Mockito로 추상 클래스 테스트
추상 클래스는 구체적인 구현이 부족하기 때문에 단위 테스트에 어려움을 겪습니다. 수동 모의 생성은 옵션이지만 시간이 많이 걸리고 복잡할 수 있습니다.
Mockito는 수동으로 모의 생성 없이 추상 클래스를 테스트할 수 있는 우아한 솔루션을 제공합니다. 작동 방식은 다음과 같습니다.
추상 클래스 모의:
<code class="java">My mock = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS);</code>
Answers.CALLS_REAL_METHODS를 사용하여 Mockito에게 실제 클래스를 실행하도록 지시합니다. 재정의되지 않은 메소드 구현을 통해 추상 메소드의 동작을 테스트할 수 있습니다.
필요한 스텁 추상 메소드:
추상 메소드의 경우 테스트 중에 제어하려는 메서드를 사용하려면 다음 구문을 사용하세요.
<code class="java">Mockito.when(mock.methodIDontCareAbout()).thenReturn(null);</code>
이것은 특정 추상 메서드를 스텁하여 원하는 동작을 제공합니다.
예:
다음 시나리오를 고려하십시오.
<code class="java">public abstract class My { public Result methodUnderTest() { ... } protected abstract void methodIDontCareAbout(); } @Test public void shouldFailOnNullIdentifiers() { My my = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS); Assert.assertSomething(my.methodUnderTest()); }</code>
이 예에서는 추상 메서드 methodIDontCareAbout()이 테스트 중인 메서드에서 사용되지 않습니다. thenReturn(null)을 사용하여 모의 작업을 수행하면 테스트 중에 이를 효과적으로 무시할 수 있습니다.
이 접근 방식은 추상 클래스를 테스트하는 간결하고 편리한 방법을 제공하여 손으로 만든 모의 클래스의 필요성을 없애고 비-클래스의 효율적인 테스트를 촉진합니다. 구체적인 수업.
위 내용은 Mockito를 사용하여 추상 클래스를 테스트하는 방법: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!