问题描述
我有一段代码,我不允许更改但需要模拟。当我在默认配置下使用 cmock 时,cmock 似乎对其中一个参数的编写方式不满意。例如,第二个参数 int (* numb)
将被错误解析并触发编译错误。
func.h(需要mock的头文件):
#include <stdio.h>
void func(char *str,int (* numb));
sample.c(统一测试套件):
#include <stdio.h>
#include "unity.h"
#include "Mockfunc.h"
int a = 1;
void call_func (void) {
printf("Calling func\n");
func("test",&a);
}
void setUp() {}
void tearDown() {}
void test_case_0 (void) {
func_Expect("test",&a);
call_func();
}
mocks/Mockfunc.c:9:36: error: expected ‘=’,‘,’,‘;’,‘asm’ or ‘__attribute__’ before ‘)’ token
9 | static const char* cmockString_numb) = "numb)";
| ^
In file included from cmock/vendor/unity/src/unity.h:21,from cmock/src/cmock_internals.h:10,from cmock/src/cmock.h:10,from mocks/Mockfunc.c:5:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)