我看了Test C code with googletest,但没有找到任何满意的答案。
在大多数单元测试框架中,简单的示例总是有效,但是当涉及到中型或大型代码库,有30个或更多模块,并且依赖性无处不在时,如何使用这些工具?加上gtest并没有声称它可以测试C代码。但是这里有一个例子,如果使用gtest来测试c代码 test c code with gtest
答案 0 :(得分:1)
不是
正如你所链接的博客文章所说,语言之间的差异使得很难使用设计良好的C ++测试框架来测试C.就像文章中的例子一样,你可以使用C ++测试框架来测试C #define
等,但正如您所提到的,当存在大量依赖项时,您将遇到问题。
这是一个常见问题 - this question about C testing包含许多C ++测试工具,但我认为它们不适用于大型项目。
以下是一些建议
如果您使用自动工具,您可能需要查看Check。我也一直在使用test-dept,它既漂亮又轻巧,并允许动态替换功能。我已经用它来为一个非常大的代码库添加测试几个月了,到目前为止它似乎很好(尽管我最后做了很多重构 - 但我认为无论如何都会如此框架)。
There are many other suggestions in the question I linked before。