직접 구현하는 반복 줄이기
인터페이스를 사용하는 코드를 검사하려면 같은 메서드를 가진 대역이 필요하다. Mockery는 인터페이스 정보를 읽고 그 구현을 만드는 작업을 자동화한다. Testify 계열 대역 등 제공되는 방식이나 사용자 정의 템플릿을 선택할 수 있다. 생성기와 생성된 객체의 실행 역할은 구분해야 한다.
설정과 생성 결과 관리
YAML 중심의 구성으로 패키지와 인터페이스를 선택하고 출력 방식을 관리한다. 템플릿에는 인터페이스의 타입 정보를 활용할 수 있다. 대상 인터페이스가 바뀌었는데 결과를 다시 만들지 않으면 테스트용 구현이 어긋날 수 있다. 생성 도구와 템플릿 버전을 함께 관리하고 생성한 차이도 검토한다.
생성이 대신하지 않는 일
대역 코드가 만들어졌다고 어떤 응답이나 호출을 기대할지가 자동으로 정해지는 것은 아니다. 테스트 작성자가 필요한 계약을 설정하고 검사해야 한다. 모든 내부 호출을 고정하면 구현 변경에 취약해질 수 있다. 주요 버전 사이에는 설정과 생성 흐름 차이가 있을 수 있으므로 이전 절차를 확인하고 실제 의존 서비스의 동작은 통합 검사로 보완한다.