Ceedling / CMock: как сделать части файла .h видимыми только для Cmock - PullRequest
0 голосов
/ 26 марта 2020

В моем модуле есть функции, подобные макросам. Это не препятствие для тестирования модуля, но это препятствие для других модулей, которые включают этот модуль.

Мой вопрос: есть ли способ сделать часть файла .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.

Спасибо за ваше время. :)

...