[java] Mockito를 사용하여 메소드 호출 시 특정 값이 매개변수로 전달되는지 확인하는 방법은?
import static org.mockito.Mockito.*;
// ...
@Test
public void testMethodCallWithSpecificArgument() {
// 모의 객체 생성
MyClass myObject = mock(MyClass.class);
// 메소드 호출 시 특정 값이 매개변수로 전달되는지 확인
myObject.myMethod("specificArgument");
// verify를 사용하여 메소드 호출 및 매개변수 확인
verify(myObject).myMethod(eq("specificArgument"));
}
위의 예제에서는 MyClass
라는 클래스의 myMethod
메소드가 호출될 때 “specificArgument”라는 값이 매개변수로 전달되는지 확인하는 방법을 보여주고 있습니다.
mock
메소드를 사용하여 모의 객체를 생성한 후, myObject
객체의 myMethod
메소드를 호출합니다. 그리고 verify
메소드를 사용하여 해당 메소드 호출과 매개변수를 확인합니다. eq
메소드를 사용하여 값을 비교할 때는 equals
메소드가 호출되도록 합니다.
이를 통해 Mockito를 사용하여 메소드 호출 시 특정 값이 매개변수로 전달되는지 확인할 수 있습니다.
참고 문헌:
- Mockito 문서: https://site.mockito.org/documentation/getting_started.html