单元测试C ++静态库

时间:2016-05-11 23:13:00

标签: c++ unit-testing visual-studio-2015

我已经制作了一个小型C ++库,我想测试它。但是,由于静态库的性质,我不能在它们上运行main()函数......尽管这正是我想要做的。我想创建一个简单的头文件和源文件,使用库的类,所以我可以调试它,如果一切都不顺利。我可以创建一个不同的项目,但我不确定这是否是正确的方法。 有没有其他方法可以做到这一点?我使用Visual Studio 2015作为IDE。

1 个答案:

答案 0 :(得分:1)

  

但是,由于静态库的性质,我无法对它们运行main()函数......尽管这正是我想要做的。

对于单元测试,最终您需要有一个main()函数来触发运行测试(这就是所谓的测试运行器< / em>的)。

您是对的,您无法在图书馆中提供main()功能,因为这会导致与链接到您图书馆的其他程序发生冲突。

因此,对于构建为单独目标(项目)的大多数构建系统(或IDE),这涉及构建可执行测试运行器目标。

VS2015有一个builtin project template来提供此功能。

其他构建系统可能依赖于单元测试框架,如gtest,它还提供main()以按需实现测试运行器。