В моем модуле есть функции, подобные макросам. Это не препятствие для тестирования модуля, но это препятствие для других модулей, которые включают этот модуль.
Мой вопрос: есть ли способ сделать часть файла .h видимой только для CMock?
Например:
Module_1.h:
#ifdef MODULE_TEST_CMOCK
void FunctionLikeMacro_1(unsigned int x);
unsigned int FunctionLikeMacro_2(void);
#else
#define FunctionLikeMacro_1(x) (HWREGISTER_1 = (unsigned int)x)
#define FunctionLikeMacro_2 ((unsigned int)HWREGISTER_2)
#endif
Я бы так предпочел. Но где я должен определить MODULE_TEST_CMOCK? Я не могу определить его в Project.yml, потому что с этим изменением мои модульные тесты для Module_1 не пройдут. Но, с другой стороны, в моих тестах модулей для Module_2, для которого требуется поддельная версия Module_1.h, я не могу ожидать вызовов FunctionLikeMacro_1 и FunctionLikeMacro_2.
Спасибо за ваше время. :)