>  기사  >  Java  >  Java에서 수신된 인수를 반환하기 위해 모의 메서드를 만드는 방법은 무엇입니까?

Java에서 수신된 인수를 반환하기 위해 모의 메서드를 만드는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-23 22:18:29928검색

How to Mock Methods to Return Arguments Received in Java?

수신된 인수를 반환하는 모의 방법

객체 지향 프로그래밍에서는 Mockito와 같은 모의 프레임워크를 사용하여 다음과 같은 모의 객체를 생성합니다. 테스트 목적으로 실제 개체의 동작을 시뮬레이션합니다. 테스트의 일반적인 시나리오 중 하나는 모의 메서드가 전달된 것과 동일한 인수를 반환하도록 해야 한다는 것입니다.

Mockito 및 Lambda 표현식(Mockito 1.9.5 및 Java 8)

Java 8 이상과 함께 Mockito 1.9.5 이상 버전의 경우 람다 표현식을 활용하여 이 동작을 달성할 수 있습니다.

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</p>
<p>여기서 i는 다음 인스턴스를 나타냅니다. InvocationOnMock 및 getArguments()[0]은 모의 메서드에 전달된 첫 번째 인수를 검색합니다.</p>
<p><h3>Mockito 및 사용자 정의 답변(이전 버전)</h3></p>
<p>이전의 경우 Mockito 버전에서는 사용자 정의 Mockito Answer 구현을 사용할 수 있습니다.</p>
<pre class="brush:php;toolbar:false"><code class="java">MyInterface mock = mock(MyInterface.class);
when(mock.myFunction(anyString())).thenAnswer(new Answer<String>() {
    @Override
    public String answer(InvocationOnMock invocation) throws Throwable {
        Object[] args = invocation.getArguments();
        return (String) args[0];
    }
});</code>

이 사용자 정의 Answer는 전달된 인수를 검색하고 반환하므로 모의 메서드가 수신된 입력을 에코할 수 있습니다.

위 내용은 Java에서 수신된 인수를 반환하기 위해 모의 메서드를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.