함수로 동작 정하기
생성된 구조체는 대상 인터페이스를 구현하고 각 메서드를 연결된 함수 필드로 전달한다. 테스트는 필요한 함수만 지정해 반환값이나 부작용을 구성할 수 있다. 호출 인자를 클로저로 보관하거나 생성된 호출 기록으로 확인하는 방식도 가능하다. 함수가 존재한다는 사실만으로 기대한 호출이 검증되는 것은 아니다.
생성 대상과 출력
생성 명령에는 인터페이스 정의가 있는 소스 디렉터리와 이름을 지정한다. 패키지 가져오기 경로를 받는 인자와 혼동하지 않아야 한다. 출력 파일과 패키지 이름, 대역 이름 등을 설정하고 생성 지시문으로 반복 실행을 연결할 수 있다. 인터페이스 변경 시 생성 결과도 갱신하고 차이를 검토한다.
미설정 메서드의 의미
기본으로 함수가 없는 메서드가 호출되면 패닉이 발생할 수 있다. 별도 스텁 옵션으로 영 값을 반환하는 구성을 선택할 수 있지만 누락된 설정을 숨길 수 있다. 필요한 계약을 명확히 검사하고 호출 기록의 초기화 범위도 관리한다. 이름이 같은 닷넷 Moq와는 별개의 도구이므로 언어와 의존 경로를 구분한다.