[java] Mockito를 사용하여 특정 메소드를 호출하면 다른 메소드도 함께 호출되지 않도록 하는 방법은?

Mockito는 자바에서 유닛 테스트를 작성할 때 매우 유용한 도구입니다. 특정 메소드가 호출되었을 때 다른 메소드가 함께 호출되지 않도록 하려면 Mockito의 verify 메소드와 never 메소드를 사용할 수 있습니다.

아래는 이러한 동작을 보여주는 예제입니다.

import org.junit.Test;
import org.mockito.Mockito;

public class ExampleTest {

    @Test
    public void testMethod() {
        // Mock 객체 생성
        Example example = Mockito.mock(Example.class);
        
        // 특정 메소드 호출
        example.method1();
        
        // 특정 메소드가 호출되었는지 검증
        Mockito.verify(example).method1();
        
        // 다른 메소드가 호출되지 않았는지 검증
        Mockito.verify(example, Mockito.never()).method2();
    }

}

위의 예제에서는 Example 클래스의 method1을 호출한 후에 method2가 호출되지 않은 것을 검증하고 있습니다. verify 메소드를 사용하여 method1이 호출됐는지 확인하고, never 메소드를 사용하여 method2가 호출되지 않았음을 검증합니다.

이렇게 Mockito를 사용하여 특정 메소드를 호출하면 다른 메소드도 함께 호출되지 않도록 할 수 있습니다. 다만, 주의해야 할 점은 Mock 객체를 생성하여 테스트하기 때문에 클래스 내부의 실제 로직은 실행되지 않는다는 것입니다.

Mockito에 대한 더 자세한 정보는 공식 Mockito 홈페이지를 참조하시기 바랍니다.