Ceedling Mock找不到文件问题求助(MCXA153开发板LED驱动测试场景)
Ceedling Mock找不到文件问题求助(MCXA153开发板LED驱动测试场景)
大家好,我最近在开发MCXA153开发板的LED驱动代码,同时用Ceedling编写单元测试,结果卡在了Mock头文件找不到的问题上,想请各位大佬帮忙看看。
我的代码细节:
- led.h 核心代码:
#ifndef LED_H_ #define LED_H_ #include "MCXA153.h" #include "fsl_gpio.h" #include "fsl_port.h" #include "fsl_reset.h" #define LED_1_H_PIN 2U #define LED_1_H_PORT PORT2 #define LED_1_H_GPIO GPIO2 #define LED_2_H_PIN 3U #define LED_2_H_PORT PORT2 #define LED_2_H_GPIO GPIO2 #define LED_3_H_PIN 7U #define LED_3_H_PORT PORT2 #define LED_3_H_GPIO GPIO2 #define LED_4_H_PIN 12U #define LED_4_H_PORT PORT2 #define LED_4_H_GPIO GPIO2 #define LED_Debug_H_PIN 11U #define LED_Debug_H_PORT PORT3 #define LED_Debug_H_GPIO GPIO3 #define LED_TASK_TIMES_TO_RUN 0U #define LED_TASK_INITIAL_DELAY_MS 0U #define LED_TASK_PERIOD_MS 5U #endif /* LED_H_ */
led.c 情况:
我的led.c里只包含了led.h这一个头文件,没有其他额外的头文件引用。测试代码的Mock尝试:
为了隔离测试,我打算在测试代码里Mock所有被led.h引用的外部头文件(比如MCXA153.h、fsl_gpio.h这些),于是写了类似下面的条件编译代码:
#ifdef TEST
// 这里放置我针对外部头文件写的Mock代码
#endif
但编译测试代码时,一直提示找不到这些被Mock的头文件。我已经按照Ceedling的Mock规则来操作了,比如确保Mock文件命名符合要求,也检查了项目路径配置,但问题还是存在。有没有大佬知道可能是哪里出问题了?比如头文件包含顺序?或者Ceedling的配置项没设对?
备注:内容来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

