【问题标题】:How can I add a unit test to a C++ console program in Visual Studio 2012?如何在 Visual Studio 2012 中向 C++ 控制台程序添加单元测试?
【发布时间】:2013-05-13 21:25:25
【问题描述】:

如何在 Visual Studio 2012 中向 C++ 控制台程序添加单元测试?

根据我从 MSDN 收集到的信息,对 C++ 的 MS 单元测试支持根本无法做到这一点,(这并不让我感到惊讶,因为 MS C++ 单元测试支持总是令人震惊)。

但是在 Visual Studio 的早期版本中,您曾经能够使用 Visual Assist 对 C++ 代码进行单元测试,但遗憾的是这不支持 vs2012。

有人知道带有某种 IDE 集成的 C++ 单元测试框架,可与 vs2012 一起使用吗?

【问题讨论】:

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


    【解决方案1】:

    Visual Studio 确实支持integrated unit testing。不过,您需要正确构建程序。我喜欢构建我的解决方案的方式是拥有三个项目。

    • 一个 .lib 项目,其中包含我的源代码。
    • 一个可执行项目,与 .lib 链接。这会在 main() 调用中调用 .lib
    • 一个测试项目 (exe),与 .lib 链接。

    虽然可以使用 Visual Studio 测试框架,但我推荐Google test。关于 google 测试的最好的事情之一实际上是Google mock。您可以与此plugin 进行一些集成。

    【讨论】:

    • 谢谢,这看起来很有趣。我猜你提到的插件实际上也是这个,虽然visualstudiogallery.msdn.microsoft.com/…我认为你的链接是错误的。
    • 我刚刚玩了一个小时,我必须说到目前为止我印象非常深刻。构建简单,应用简单(可以在可执行文件中运行测试没有问题,因此不需要额外的项目),也集成了 VS2012 测试资源管理器。太好了。
    【解决方案2】:

    您可以在C++/CLI 中编写测试并使用NUnit

    【讨论】:

    • 谢谢,但如果我正在测试 C++ 代码,我宁愿保持原生状态,也不愿与 Dotnet 混在一起。
    • 我也是,但这是您找到并自动运行测试的唯一方法。否则,您将需要编写测试套件以确保所有测试都能运行。
    猜你喜欢
    • 2014-03-28
    • 2013-05-24
    • 2013-01-16
    • 2012-05-12
    • 1970-01-01
    • 2014-11-05
    • 2012-08-15
    • 1970-01-01
    • 2015-08-12
    相关资源
    最近更新 更多