C ++单元测试和存根第三方C库

时间:2013-01-09 11:06:36

标签: c++ c unit-testing googlemock

我需要对我编写的使用第三方C库的一些C ++对象进行单元测试。由于超出此问题范围的原因,我无法直接调用第三方C库,需要将其存入测试套件。

对于单元测试套件的其他部分,我们使用googlemock,但我认为它不能用于C库。我可以手动删除库,但不喜欢(部分是由于懒惰(它相当大),但主要是因为它只是一个原则问题)。

所以这是我的问题:是否有一个工具可以根据C库头文件生成存根代码?一旦我有了残留的代码,我会对它做一些小的修改,然后我将链接它以进行单元测试。

2 个答案:

答案 0 :(得分:3)

stubgen可以从头文件生成存根成员,除非您有特殊要求,它应该能够执行您正在寻找的内容。

答案 1 :(得分:1)

您无法将这些调用包装在http://code.google.com/p/googlemock/wiki/CookBook#Mocking_Free_Functions

中描述的类中

然后你可以注入(以动态或静态的方式)这个类并设置它的期望值。