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