위키득계정 ↗
기술

Mockito

Mockito기술
분야
객체 대역
언어
자바
응답 구성
메서드 동작 설정
호출 검증
인자와 상호작용 확인
Mockito는 자바 테스트에서 의존 객체의 대역을 만들고 호출을 확인하는 라이브러리다. 미리 정한 응답으로 검사 조건을 구성하거나 메서드에 전달된 인자를 검증하는 데 사용한다.

대역을 사용하는 이유

테스트 대상이 외부 객체에 의존하면 그 객체의 준비와 실패가 검사에 섞일 수 있다. Mockito로 필요한 동작을 제공하는 대역을 만들어 대상 로직을 좁혀 확인할 수 있다. 실제 객체가 없어도 조건을 구성할 수 있지만 외부 시스템과의 실제 호환성까지 검증되는 것은 아니다.

응답 설정과 호출 확인

특정 메서드가 호출될 때 반환할 결과를 정하는 일과 실제로 어떤 호출이 있었는지 확인하는 일은 다르다. Mockito는 두 작업을 분리해 제공한다. 인자 매칭이나 인자 캡처를 이용하면 전달한 값도 조사할 수 있다. 실제 메서드를 실행하는 스파이는 순수한 대역과 부작용 범위가 다르다.

검사 설계의 균형

모든 내부 호출을 고정하면 구현을 조금 정리해도 테스트가 깨질 수 있다. 관찰해야 하는 계약을 골라 검증하고 값 객체나 단순 로직까지 과도하게 대역으로 만들지 않는다. 주요 버전에 따라 필요한 자바 버전과 대역 생성 방식이 달라진다. Mockito 5 계열은 자바 11 이상을 요구하므로 프로젝트 환경과 맞춰 선택한다.

관련 문서

Moq / NSubstitute / FakeItEasy / AssertJ