Catch2能够与C语言一起使用吗?

3

我正在编写一个支持与C和C ++语言应用程序进行接口交互的dll。该dll本身是用C ++编写的,所以问题是,我是否可以使用Catch2框架来测试C和C ++应用程序的单元测试?

有哪些需要注意的事项?还有没有其他任何可以建议的替代方案?

1个回答

7

这些测试必须用C++编写。

为了测试一个函数,你只需要能够调用它。所以,问题等价于“C++可以调用C函数吗?”。

在大多数情况下,答案是肯定的。有一个专门为此目的设计的“语言链接”功能。然而,也存在一些例外情况,例如那些名字与C++关键字(如delete)不兼容的函数。为了调用这样的函数,你需要在C中编写一个包装函数,并使用兼容名称调用该包装函数来进行C++测试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接