我正在编写一个dll,它支持与C和C++语言应用程序接口。dll本身是用C++编写的,所以问题是我可以使用Catch2框架对C和C++应用程序进行单元测试吗?
我需要注意什么?还有其他人可以提出的替代方案吗?
测试必须用C++编写。
要测试一个函数,你只需要能够调用它;可以从C++调用C函数吗&";。
在大多数情况下,答案是肯定的。有一个";语言链接";功能。在C不兼容的情况下也有一些例外,例如名称为C++关键字的函数,如delete
。要调用这样的函数,您需要用C编写一个具有兼容名称的包装器函数,并从用C++编写的测试中调用该包装器。