【问题标题】:Unit testing c++ console application in Visual Studio 2012在 Visual Studio 2012 中对 C++ 控制台应用程序进行单元测试
【发布时间】:2014-03-28 08:43:48
【问题描述】:

我正在尝试在 Visual Studio 中创建一个单元测试项目。我要测试的代码是 C++,我想用 C++ 编写测试。这可能吗?

另外,我发现的只是导出静态或动态库的项目。我的项目什么都不导出,它是一个简单的控制台应用程序,我不想把它变成一个库。

我在网上尝试了各种教程,我得到的只是关于测试静态/动态库的指南(我对此一无所知),或者最终导致我在编译测试时收到 unresolved external symbol.. 错误。

是否有单元测试、项目模板,我只是在其中声明我要测试的解决方案在哪里?

【问题讨论】:

  • unresolved external symbol 表示您缺少链接到某个库。我建议您在开始测试之前阅读有关链接和(外部)库的信息,因为基本上每个测试解决方案都要求您包含/使用一些第 3 方代码。

标签: c++ unit-testing visual-studio-2012 vs-unit-testing-framework


【解决方案1】:

是的,有可能,您只需将被测项目的 .obj 或 .lib 文件添加到测试项目的依赖项中即可。

  • 文件 -> 新建 -> 项目 -> Visual C++ -> 原生单元测试项目(创建测试项目)
  • 在新项目中打开项目属性
  • 属性 -> 配置属性、链接器、输入、附加依赖项:添加 .obj 或 .lib 文件的名称(无完整路径)。如果被测函数/类“存在”在特定的 .obj(它将以相应的 .cpp 命名)文件中,并且您没有添加该 .obj,您将收到链接器错误(这是您的错误,对那里
  • 属性 -> 配置属性、链接器、常规、附加库目录:添加 .obj 或 .lib 文件的目录路径。
  • 属性 -> 配置属性、VC++ 目录、包含目录:添加被测项目的标头目录。

基本上每个案例都包含在msdn

【讨论】:

    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2013-01-16
    • 2013-05-29
    • 1970-01-01
    • 2012-09-18
    相关资源
    最近更新 更多