[java] Mockito를 사용하여 특정 메소드를 호출할 때 지연 시간을 설정하는 방법은?
import static org.mockito.Mockito.*;

...

// 특정 클래스의 Mock 객체 생성
MyClass myClassMock = mock(MyClass.class);

// 특정 메소드의 호출에 대해 지연 시간 설정
when(myClassMock.myMethod()).thenAnswer(invocation -> {
    Thread.sleep(1000); // 1초의 지연 시간 설정
    return null; // 호출 결과 반환
});

// 메소드 호출 시 지연 시간이 설정된 Mock 객체가 반환됨
MyClass myClass = myClassMock.myMethod();

// 지연 시간이 적용된 메소드 호출 결과 확인
// 이 시점에서 1초의 지연 시간이 발생하고, null이 반환됨
System.out.println(myClass);

위의 코드에서는 MyClass라는 클래스의 myMethod() 메소드가 호출될 때 1초의 지연 시간을 설정하는 방법을 보여줍니다.

mock() 함수를 사용하여 MyClass의 Mock 객체를 생성한 후, when() 함수와 thenAnswer() 함수를 사용하여 myMethod() 메소드에 대한 지연 시간 설정을 정의합니다. thenAnswer() 함수 내에서 Thread.sleep(1000)을 사용하여 1초 동안의 지연 시간을 설정하고, 이후에는 호출 결과로 null을 반환하도록 설정합니다.

마지막으로 myMethod()를 호출하면 설정된 지연 시간이 적용된 Mock 객체가 반환되며, 1초의 지연 시간이 발생한 후 null이 출력됩니다.

위의 예제 코드에서는 Java를 사용하고 있으며, Mockito를 활용하여 특정 메소드 호출에 대한 지연 시간 설정을 보여주고 있습니다.

더 자세한 내용은 Mockito의 공식 문서를 참조하시기 바랍니다. (https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html)