Mockito로 추상 클래스 모의
추상 클래스 테스트는 특히 수동 모의 생성을 고려하는 경우 어려울 수 있습니다. 그러나 Mockito를 활용하면 대체 접근 방식이 제공됩니다.
Answers.CALLS_REAL_METHODS가 포함된 Mockito.mock()
수동으로 모의 클래스를 구성하는 대신 Mockito의 mock() 메서드를 사용할 수 있습니다. Answers.CALLS_REAL_METHODS 인수와 함께 활용됩니다. 이 옵션은 추상 클래스에서 상속하고 이를 명시적으로 구현하지 않고도 실제 메서드를 테스트할 수 있는 모의 클래스를 생성합니다.
예:
추상 클래스 My를 고려하세요. 테스트 methodUnderTest() 아래의 메서드와 추상 메서드 methodIDontCareAbout(). 다음 코드 조각은 이 접근 방식을 사용하여 methodUnderTest()를 테스트하는 방법을 보여줍니다.
<code class="java">@Test public void shouldFailOnNullIdentifiers() { My my = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS); Assert.assertSomething(my.methodUnderTest()); }</code>
이 예에서 Mockito.mock(My.class, Answers.CALLS_REAL_METHODS)는 실제 테스트를 허용하는 My의 모의 인스턴스를 생성합니다. 실행할 methodUnderTest() 구현을 통해 로직 테스트가 가능해집니다. 동시에 추상 메서드 methodIDontCareAbout()은 테스트에서 호출되지 않으므로 구현할 필요가 없습니다.
이점
이 접근 방식은 테스트를 간소화합니다. 사용자 정의 서브클래스를 생성하거나 추상 메서드를 구현할 필요가 없어져 추상 클래스가 생성됩니다. 또한 추상 클래스와 테스트 케이스 간의 원하는 분리를 유지하여 보다 명확하고 간결한 테스트를 가능하게 합니다.
위 내용은 Mockito는 추상 클래스 테스트를 어떻게 단순화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!