【问题标题】:Unit test for C++ win32 applicationC++ win32 应用程序的单元测试
【发布时间】:2012-11-28 03:09:19
【问题描述】:

我必须为在 Visual Studio 2010 上开发的 C++ win32 控制台应用程序编写单元测试。

  • 之前我通过添加对测试项目的取消引用为 C++ DLL 编写了一些单元测试。
  • 但如您所知,无法引用 win32 exe 文件来测试项目。

那么我如何在测试项目中使用“我的项目中的方法”?我厌倦了添加整个项目作为参考。但不是成功。 请一些指导?

【问题讨论】:

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


    【解决方案1】:

    您需要创建新项目并在其中添加您计划测试的代码的源文件。这意味着对于您的测试,您将只有包含您的开发和测试代码的可执行文件。

    其他方式(不推荐)是将测试 DLL 注入进程并从该 dll 内部寻找目标代码的入口点。

    【讨论】:

    • 我所做的实际上是首先创建了我的项目(calculator),然后在同一个解决方案中添加了一个新的测试项目(calculator_test)。然后我从calculator_test 添加了对calculator 的引用。但是当我尝试编写[TestMethod] 方法时,calculator 项目或该项目中的类无法被calculator_test 项目访问。您能否参考更多关于如何为 C++ 应用程序(不适用于 LIB 或 DLL)编写单元测试的解释、示例或教程?
    • 解决方案只是一组二进制文件。每个二进制文件都有自己的生命。我建议您不要使用术语解决方案和参考。它们太特定于 Windows。它们不用于更大的 C/C++ 世界。
    • 链接二进制文件时,会从 .obj 文件和库中获取代码。阅读有关库的信息,尤其是有关 DLL 输入库的信息。尝试为每个二进制文件创建单独的解决方案。这将帮助您了解整个系统的工作原理。
    猜你喜欢
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2015-08-13
    • 2022-10-14
    • 1970-01-01
    • 2010-12-15
    相关资源
    最近更新 更多