[java] Mockito를 사용하여 특정 메소드에 전달된 인자들 중 특정 타입의 인자를 찾는 방법은?
Mockito는 자바에서 테스트 더블을 만들고 행위를 검증하는데 도움을 주는 모의 객체 프레임워크입니다. Mockito를 사용하면 특정 메소드 호출에 전달된 인자들을 쉽게 확인할 수 있습니다.
다음은 Mockito를 사용하여 특정 메소드에 전달된 인자들 중 특정 타입의 인자를 찾는 예제입니다.
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
// 테스트할 클래스
public class MyClass {
public void myMethod(String arg1, int arg2, boolean arg3) {
// 코드 내용
}
}
// 테스트 클래스
public class MyClassTest {
@Test
public void testMyMethod() {
MyClass myObject = Mockito.mock(MyClass.class);
// 인자 캡쳐를 위한 ArgumentCaptor 생성
ArgumentCaptor<String> argCaptor = ArgumentCaptor.forClass(String.class);
// myMethod 호출
myObject.myMethod("hello", 10, true);
// myMethod에 전달된 인자들을 캡쳐
Mockito.verify(myObject).myMethod(argCaptor.capture(), Mockito.anyInt(), Mockito.anyBoolean());
// 특정 타입의 인자를 확인하기 위해 getValue() 메소드를 사용
String capturedArg = argCaptor.getValue();
// 특정 타입의 인자를 검증
Assert.assertEquals("hello", capturedArg);
}
}
ArgumentCaptor
를 사용하여 원하는 타입의 인자를 캡쳐하고 getValue()
메소드를 사용하여 해당 인자를 가져옵니다. 그런 다음, 캡쳐한 인자를 원하는 방식으로 검증할 수 있습니다.
이 예제를 통해 Mockito를 사용하여 특정 메소드에 전달된 인자들 중 특정 타입의 인자를 찾는 방법을 알아보았습니다. Mockito는 테스트 시나리오를 더욱 쉽게 다룰 수 있도록 도와주는 강력한 도구입니다. 더 자세한 정보는 Mockito 공식 문서를 참조하시기 바랍니다.
참고: Mockito 공식 문서