[java] Mockito를 사용하여 특정 메소드에 전달된 인자들 중 특정 값을 찾는 방법은?
Mockito를 사용하면 메소드가 호출될 때 전달된 인자들을 검증하고, 특정 값을 찾을 수 있습니다. 다음은 예시 코드입니다.
import static org.mockito.Mockito.*;
@RunWith(MockitoJUnitRunner.class)
public class MyClassTest {
@Test
public void testMethod() {
MyClass myClass = mock(MyClass.class);
ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
// 메소드 호출
myClass.myMethod("Hello", "World");
// 전달된 인자들 중 특정 값을 찾기 위해 ArgumentCaptor를 사용
verify(myClass).myMethod(argumentCaptor.capture(), argumentCaptor.capture());
// 찾고자 하는 값에 접근
List<String> capturedValues = argumentCaptor.getAllValues();
String firstValue = capturedValues.get(0);
String secondValue = capturedValues.get(1);
// 특정 값 검증
assertEquals("Hello", firstValue);
assertEquals("World", secondValue);
}
}
위의 예시에서는 MyClass
라는 클래스의 myMethod
메소드가 호출될 때 전달된 인자들을 검증하는 방법을 보여줍니다. ArgumentCaptor
를 사용하여 인자들을 캡처하고, getAllValues
를 호출하여 값을 얻을 수 있습니다.
결과적으로, 전달된 인자들 중에서 특정 값을 찾고 검증할 수 있습니다. 이를 통해 테스트하는 메소드의 인자들이 올바른지 확인할 수 있습니다.