c++ - 单元测试 C++ 静态库

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

我制作了一个小型 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/

相关文章:

c++ - std::deque 的线程安全

c++ - 访问队列数据结构的信号处理程序(竞争条件?)

unit-testing - Angular 2 单元测试可观察到的错误 (HTTP)

asp.net-mvc - Visual Studio 不更新 Internet 临时文件

c++ - 已部署的 Mac 应用程序无法在 2014 年底之前的 Mac 上打开

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

java - Mockito - 需要但未调用 : Actually, 与此模拟的交互为零

c++ - C++ 单元测试工具的建议

c# - 如何在 Visual Studio 2015 中为 SQL Server 创建数据库图表?

c - 当给出额外输入时,如何使 Visual Studio 2015 中的控制台输出窗口保持打开状态?