为了账号安全,请及时绑定邮箱和手机立即绑定

如何测试静态功能

如何测试静态功能

智慧大石 2019-10-21 10:06:56
在将单元测试应用于某些C代码时,我们遇到一个问题,即在不修改源代码的情况下,无法在测试文件中调用某些静态函数。有没有简单或合理的方法来解决此问题?
查看完整描述

3 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

我有一个测试装置。在严重的情况下-像尝试测试静态函数一样,我使用:


#include "code_under_test.c"

...test framework...

也就是说,我将包含测试功能的整个文件包含在测试工具中。这是万不得已的方法-但行得通。


查看完整回答
反对 回复 2019-10-21
?
不负相思意

TA贡献1777条经验 获得超10个赞

您能否提供有关为什么无法调用该函数的更多信息?


由于它是.c文件专用的,因此不可用吗?如果是这样,最好的选择是使用条件编译,该条件编译允许访问该函数,以便允许其他编译单元访问它。例如


SomeHeaderSomewher.h


#if UNIT_TEST

#define unit_static 

#else

#define unit_static static

#endif

oo


#if UNIT_TEST

void some_method

#endif

Foo.cpp


unit_static void some_method() ...


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 625 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信