매크로 함수의 정확한 표현은 함수형 매크로(Function-like macro) 이며, 엄밀히 말하면 함수가 아닙니다.
매크로는 전처리 과정에서 소스코드를 특정 규칙으로 치환해주는 방식으로 동작합니다.
#define SQUARE(x) ((x) * (x))
int main(void) {
int num = 5;
int result = 0;
result = SQUARE(num);
return result;
}예를들어 위와 같은 코드는, 아래와 같이 전처리가 풀리게됩니다.
int main(void) {
int num = 5;
int result = 0;
result = ((num) * (num));
return result;
}따라서 매크로함수(함수형 매크로, Function-like macro)는 함수가 아니므로, 일반적인 방법으로는 스텁처리가 불가능합니다.
해당 매크로에 의해, 원하는 값이 반환되도록 상위 조건을 갖춰서 테스트 해야합니다.
전처리코드를 참고하면 테스트 설계에 도움이 될 수 있습니다.
CT 에서 전처리코드는 아래의 방법으로 확인하실 수 있습니다.

아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.