> Java > java지도 시간 > Mockito에서 Void 메소드를 효과적으로 모의하는 방법은 무엇입니까?

Mockito에서 Void 메소드를 효과적으로 모의하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-25 03:39:08
원래의
505명이 탐색했습니다.

How to Mock Void Methods in Mockito Effectively?

Mockito를 사용한 Mocking Void 메소드

Mockito의 Mocking void 메소드는 doThrow(), doAnswer(), doNothing의 메소드를 사용하여 구현할 수 있습니다. () 및 doReturn() 계열. 이러한 메서드를 사용하면 반환 유형이 void인 모의 메서드에 대한 동작을 지정할 수 있습니다.

예:

// Mock a void method that throws an exception
Mockito.doThrow(new Exception()).when(instance).methodName();

// Mock a void method that performs some action
Mockito.doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(instance).methodName();
로그인 후 복사

특정 예에서는 다음을 모의할 수 있습니다. World 클래스의 setState() 메서드는 다음과 같습니다.

// Mock the World class
World mockWorld = mock(World.class); 

// Mock the setState method to print the arguments passed to it
doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(mockWorld).setState(anyString());
로그인 후 복사

이제 mockWorld.setState()를 호출하면 테스트 내에서 제공된 답변이 실행되어 올바른 인수가 메소드에 전달되었는지 확인할 수 있습니다.

위 내용은 Mockito에서 Void 메소드를 효과적으로 모의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿