[java] Mockito를 사용하여 객체의 내부 상태를 확인하는 방법은?

객체의 내부 상태를 확인하기 위해 Mockito에서 제공하는 verify 메서드를 사용할 수 있습니다. 이 메서드는 해당 객체의 메서드 호출 여부와 호출 횟수 등을 검증할 수 있습니다.

// 예시 클래스
public class MyClass {
    private int value;

    public void setValue(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

// 테스트 코드
@Test
public void verifyInternalStateTest() {
    // 객체 생성
    MyClass myClass = Mockito.mock(MyClass.class);

    // 메서드 호출
    myClass.setValue(10);

    // 내부 상태 확인
    Mockito.verify(myClass).setValue(10);
    Assert.assertEquals(10, myClass.getValue());
}

위의 예시 코드에서는 MyClass라는 클래스를 테스트하는데, setValue 메서드를 호출하여 내부 상태를 변경하고, getValue 메서드를 호출하여 확인합니다.

verify 메서드를 사용하면 setValue 메서드가 10의 인자로 호출되었는지 확인할 수 있습니다. 또한 Assert.assertEquals를 사용하여 getValue 메서드의 반환 값을 확인할 수 있습니다.

Mockito를 사용하여 자바 객체의 내부 상태를 확인하는 것은 유닛 테스트 작성 시 유용한 방법입니다. Mockito의 다양한 기능을 활용하면 객체의 메서드 호출과 내부 상태를 자세하게 검증할 수 있습니다.

참고 자료: