객체 지향 프로그래밍에서는 Mockito와 같은 모의 프레임워크를 사용하여 다음과 같은 모의 객체를 생성합니다. 테스트 목적으로 실제 개체의 동작을 시뮬레이션합니다. 테스트의 일반적인 시나리오 중 하나는 모의 메서드가 전달된 것과 동일한 인수를 반환하도록 해야 한다는 것입니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!