我想为 C++ 类编写一些测试代码。因为该类是应用程序的一部分但不是库的一部分我想知道哪个单元测试框架不需要将项目构建为库来运行单元测试代码?
我尝试了 WinUnit,但似乎只能测试一个库。
我想为 C++ 类编写一些测试代码。因为该类是应用程序的一部分但不是库的一部分我想知道哪个单元测试框架不需要将项目构建为库来运行单元测试代码?
我尝试了 WinUnit,但似乎只能测试一个库。
我知道的任何测试框架都允许这样做。这是构建环境设置的问题,而不是测试框架本身。
维护它的最简单方法是为您的应用程序代码设置一个库。
我从未使用过 WinUnit,但我在 VisualStudio 项目中使用过 CppUnit 和 GoogleTest,其中被测代码不在库中,但在单元测试项目中引用(包含)了 SUT 的实现文件并且它成功了。
默认情况下,可执行文件不导出符号。您需要启用它,-Wl,--export-dynamic
然后链接到生成的可执行文件,就好像它是一个库一样。这也意味着您需要对要使用的类等进行适当的导入/导出。