使用Visual Studio对本地VS C++的gtest单元测试进行代码覆盖率分析

4

各位朋友们,

在过去的两周里,我一直在寻找适用于我们特定需求的单元测试代码覆盖工具。现在,我想评估的是Visual Studio自带的本地C++单元测试代码覆盖率工具。在我们的解决方案中,我们有以下内容:

  • 完整的Visual Studio 2013开发环境,包含多个100k行代码的大型项目
  • 已经使用GTEST编写了900多个单元测试(可以在构建过程中正常工作和执行),并且可以在这个本地C++代码环境中工作(非托管)
  • 十几个项目或者更多的解决方案

我正在努力弄清楚以下问题:

  • 是否可以使用Visual Studio代码覆盖分析工具报告我的gtest单元测试结果?
  • 每次运行单元测试时生成代码覆盖率结果(我们的单元测试会在后构建步骤中自动运行)

我已经在这些论坛、MSDN和其他网站(如stackoverflow)上搜索过,但我无法找到一个好的指导资源来使这些工具组合起来工作。就像我所说的,我已经拥有解决方案、项目和单元测试,并且可以正常工作,但是我不知道如何使用Microsoft自己的Visual Studio代码覆盖率工具来添加代码覆盖率。

我已经评估了一些其他软件包,例如Software Verify、Semantic Designs、OpenCPPCoverage和Bullseye。我希望尝试一下我们Visual Studio的代码覆盖组件,因为它已经成为我们开发环境的一部分,但我似乎无法弄清楚如何运行或者是否能够工作。

有什么帮助吗?

非常感谢您提供的任何反馈和信息。

1个回答

7
在进一步搜索后,我发现我缺少一个适配器来在VS 2013中运行测试。虽然我的测试作为构建过程的一部分执行了,但由于未与Visual Studio的测试资源管理器进行接口,因此没有生成测试结果。安装扩展程序即可简单解决这个问题。 我发现适合我们使用的扩展是GoogleTest Runner,在此处的扩展库中找到: GoogleTest Runner 如果其他人遇到相同的问题并需要帮助,我会将此问题和答案留在这里。

1
gtest在Visual Studio中有多大的用处? - Anton K
@anton-k,需要一点时间来适应在那个环境中使用gtest,但现在已经很顺利了...我认为关键是如果你已经熟悉Gtest和Visual Studio,它们可以很好地匹配...上面的插件对于使代码覆盖率至少有所帮助。 - Kim Gentes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接