【发布时间】:2015-06-24 13:40:12
【问题描述】:
我正在使用cmocka 库来测试一些嵌入式c 代码。根据文档,我使用 __wrap_ 前缀来模拟函数,这样我就可以隔离我的单元测试。但是,一旦我这样做了,对函数的所有调用都将永远转到包装函数。如何在某些情况下重新启用实际功能,以便我可以对其进行测试或允许其他功能使用它?在我看来,唯一的方法是使用全局字段作为开关来调用真正的函数,如下所示:
int __wrap_my_function(void) {
if (g_disable_wrap_my_function) {
return __real_my_function();
}
// ... do mock stuff
}
这是正确的做法吗?
【问题讨论】:
标签: c unit-testing cmockery cmocka