위키득계정 ↗
기술

Cmock

Cmock기술
표기
CMock
생태계
ThrowTheSwitch
분류
모킹 및 스텁 생성
관련 도구
Unity와 Ceedling
Cmock은 C 단위 테스트를 위한 모의 함수와 스텁 생성 도구다. C 헤더를 해석해 테스트에서 사용할 인터페이스 코드를 만들고 실행 지원을 제공한다.

헤더에서 테스트 대역으로

검사 대상이 호출하는 외부 함수의 인터페이스를 헤더에서 읽고 테스트용 구현을 생성한다. 이를 이용하면 실제 외부 구성 요소 대신 시험 조건에 맞는 동작을 제공할 수 있다. 대역을 만든다는 사실이 외부 시스템의 모든 동작을 복제한다는 뜻은 아니다.

테스트 도구와 역할

Unity와 함께 사용하도록 설계되었으며 Ceedling은 관련 생성과 빌드 흐름을 관리할 수 있다. 조건을 검사하는 프레임워크와 모의 코드를 생성하는 도구, 전체 빌드 관리자는 역할이 다르다. 프로젝트에서 각 단계가 어떤 입력을 사용하는지 구분한다.

인터페이스 변경 관리

원본 헤더가 바뀌면 생성한 대역도 그 변화와 맞아야 한다. 오래된 대역으로 성공한 테스트가 현재 인터페이스를 검증했다고 오해하지 않도록 한다. 실제 구성 요소를 연결하는 통합 검사는 모의 함수 기반의 단위 검사와 별도로 계획한다.

관련 문서

Unity C 테스트 / Ceedling / Fake Function Framework / Cmocka