위키득계정 ↗
기술

Mockall

Mockall기술
분야
Rust 모의 객체
주요 대상
트레이트와 구조체
생성 방식
자동 속성과 선언 매크로
검사 조건
인자와 횟수 및 순서
Mockall은 Rust 코드의 의존 객체를 검사 대역으로 바꾸는 라이브러리다. 호출 인자와 횟수 및 반환 동작을 지정해 실제 하위 시스템 없이 특정 경로를 검사할 수 있다.

의존 동작을 제어하기

실제 저장소나 외부 서비스 대신 같은 인터페이스의 대역을 전달하고 응답을 지정한다. 정상 응답뿐 아니라 드물게 발생하는 실패도 재현하기 쉽다. 자동 생성이 처리할 수 있는 형태와 수동 선언이 필요한 형태가 다르므로 모든 Rust 타입을 제한 없이 바꿀 수 있다고 가정하지 않는다.

기대 조건의 기본값

인자 조건으로 호출을 구분하고 반환값이나 반환 함수를 연결할 수 있다. 호출 횟수를 지정하지 않으면 기본적으로 횟수를 제한하지 않으며 순서 역시 별도 시퀀스를 설정해야 검사한다. 호출이 한 번 일어났다는 사실을 검증하려면 그 기대를 명시해야 한다. 설정하지 않은 조건까지 자동 검증되는 것은 아니다.

중간 확인과 통합 검사

체크포인트로 현재 기대 조건을 확인하고 지운 뒤 다음 단계의 조건을 구성할 수 있다. 의도와 맞지 않는 접근은 패닉으로 드러날 수 있어 실패 위치와 설정한 조건을 함께 조사한다. 대역이 실제 시스템의 계약과 다르면 검사가 통과해도 연동 오류가 남는다. 모의 검사와 실제 의존성을 사용하는 검사를 보완적으로 운영한다.

관련 문서

Rstest / Trybuild / Mockito / GoMock