我制作了一个小型 C++ 库,我想对其进行测试。但是,由于静态库的性质,我不能对它们运行 main() 函数……尽管这正是我想做的。我想创建一个简单的头文件和源文件来使用库的类,这样我就可以在出现问题时对其进行调试。我可以创建一个不同的项目,但我不确定这是否是正确的方法。 我还有其他办法吗?我使用 Visual Studio 2015 作为 IDE。
最佳答案
However, due to the nature of static libraries, I can't run a main() function on them... though that's exactly what I'd like to do.
对于单元测试,最终您需要有一个 main()
函数来触发运行测试(这就是所谓的测试运行器)。
你是对的,你不能为你的库提供 main()
函数,因为这会导致与链接到你的库的其他程序发生冲突。
因此,对于大多数作为单独目标(项目)构建的构建系统(或 IDE),涉及构建可执行测试运行器目标。
VS2015 有一个 builtin project template提供此功能。
其他构建系统可能依赖单元测试框架,如 gtest它还提供了一个 main()
来实现按需运行测试。
关于c++ - 单元测试 C++ 静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37174750/