gpt4 book ai didi

c++ - 组织要进行单元测试的 C++ 项目的有效方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:09 26 4
gpt4 key购买 nike

我想知道组织将要进行单元测试的 C++ 项目和类的有效方法是什么。我已经阅读了许多与单元测试相关的 SO 帖子,但找不到实际示例。

以下是我收集的一些方法:

方法A

  • 项目 A:“包含”项目 C 中的类的应用程序 (.exe) 项目
  • 项目 B:“包含”项目 C 中的类的单元测试 (.exe) 项目
  • 项目 C:保留项目 A 使用的所有类的静态库 (.lib) 项目

方法B

  • 项目 A:自身包含所有类的应用程序 (.exe) 项目。
  • 项目 B:“链接”到项目 A 中的类的单元测试 (.exe) 项目

方法 C(来自 Miguel)

  • 只有一个项目,具有三种配置:
    • 调试:在 Debug模式下构建您的应用程序 .exe。
    • 发布:在 Release模式下构建您的应用程序 .exe。
    • 测试:构建单元测试框架,将应用的 main() 替换为单元测试 main()

哪种方式更合适?您还有其他建议吗?

最佳答案

我以前用第一种方法很好。将大部分代码放在静态库项目中,让主要的可执行项目只包含主要功能,并将测试和测试主要功能放在第三个项目中。这两个可执行项目将链接到静态库并重用代码。

这样做的主要好处是:

  • 正在测试的代码与您的应用程序中使用的代码完全相同。
  • 您可以同时测试调试和发布配置,以确保两者都能按预期工作。 (您可以为您可能需要的任何配置推断调试和发布。)
  • 由于在两个可执行项目中使用相同的构建库,因此构建时间最小化。
  • 可以让构建系统同时构建测试和主可执行文件,并在构建后运行测试可执行文件。

关于c++ - 组织要进行单元测试的 C++ 项目的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7782482/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com