【问题标题】:Running google test in visual studio 2013 express在 Visual Studio 2013 Express 中运行 google 测试
【发布时间】:2016-05-27 02:42:35
【问题描述】:

由于我们之前的框架存在缺陷,我们刚刚切换到使用 google test 进行单元测试。

在 Visual Studio 中,我有一个包含多个项目的解决方案。每个项目都包含使用谷歌测试我们应用程序中特定类(或链接类集合)的单元测试。我们只使用 VS 来管理和运行 google 测试,并引用其他地方的测试类。

当我想运行所有测试时,我将启动项目设置为多个,然后按 ctrl-f5。这会为每个项目弹出 1 个带有标准 google 测试输出的控制台窗口。这很棒!不过,我必须单击一个键来关闭每个输出窗口。集成到 VS2013 express 中的“测试资源管理器”肯定会很好。

我找到了这个脚本运行器: https://visualstudiogallery.msdn.microsoft.com/9dd47c21-97a6-4369-b326-c562678066f0.

这似乎正是我想要的,但显然速成版不允许扩展? (我是视觉工作室的新手。)无论如何,我们使用的是 express 而不是其他版本,因为我们是商业的。我的后备解决方案是将钱花在完整版的 VS 上。但是,我更愿意找到一个免费的解决方案,这样我就不必证明购买是合理的,然后为每个加入该组的新人处理 Visual Studio 的许可。

有没有人想出办法解决这个问题?

【问题讨论】:

  • 仅仅为此购买完整版的 VS 是一种矫枉过正。您是否特别想在 VS 中实现与“测试资源管理器”的集成,或者您是否愿意接受替代方案?
  • 我对替代品持开放态度。是的,它有点矫枉过正,但我​​已经测试了社区版,它超级流畅且非常易于使用。
  • 此外,如果我让扩展正常工作,我似乎也会意识到 VS 中本机代码覆盖的好处。
  • 你最后买了完整版的VS吗?
  • 我想按照您在回答中的建议去做。但是,我们没有使用 gmock(我们使用的是 fakeit),实现它所需的时间超过了购买 VS 的成本。所以,是的,我们购买了 VS2015 专业版。

标签: c++ unit-testing visual-studio-2013 googletest vs-extensibility


【解决方案1】:

我们的团队还尝试使用“Google Test Runner”扩展程序。这 与 VS Test Explorer 的集成很棒,但我们不喜欢 我们看不到 gmock 警告的事实。这意味着 一些测试可以通过警告,你会简单地让它 溜走,在未来制造问题。同样的问题 尝试使用 gmock 生成的 XML 输出时存在。

由于在控制台中查看输出是一个糟糕的选择,我们决定 解析运行测试的可执行文件的输出并显示它们 在浏览器中。为此,我们修改了项目,使其指向 它的输出到一个文件(> test_output.txt”在调试 - >命令 参数)并修改主函数以解析输出, 将其插入到 html 文件模板中,保存此 html 文件,然后打开 它在默认浏览器中使用:

ShellExecute(NULL, NULL, "test_output.html", "", "", SW_SHOW);

这也使我们能够对结果的方式进行一些自定义 使用javascript显示。

您可以通过创建一个简单的项目来使用这种方法 将在多个启动项目列表中最后运行,解析输出 其他可执行文件并将其显示在浏览器中。我知道这个解决方案有 它的缺点,但它(在我看来)比忽略警告要好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多