Visual Studio 2012 C++代码覆盖率合并可执行文件

Visual Studio 2012 C++ code coverage merge executables

本文关键字:合并 可执行文件 代码覆盖率 C++ Studio 2012 Visual      更新时间:2023-10-16

我的c ++单元测试使用gtest框架,因此每个测试都是单独的可执行文件。我正在运行 CodeCoverage.exe 工具来获取每个可执行文件运行的原始覆盖率数据。当我在 Visual Studio 中打开结果时,每个可执行运行都显示在单独的分支中,并且结果无法合并在一起。
有什么办法可以做到这一点吗?

我尝试的一件事是在命令行中为两次运行指定/session:uniq,但这没有任何效果。

它是否可以帮助您通过vsperfcmd.exe捕获?

  1. 使用为链接器指定的标志构建 gtest /profile
  2. 使用 Visual Studio 覆盖率检测检测您的 gtest exe
    • vsinstr.exe gtest.exe /COVERAGE
  3. 启动代码覆盖率捕获工具
    • vsperfmon.exe /COVERAGE /OUTPUT:gtest.coverage
  4. 运行测试
  5. 停止捕获工具
    • vsperfcmd.exe -shutdown
  6. 启动输出文件 (gtest.coverage) 以查看 Visual Studio 中的输出

好的,这应该是一个评论,但我还没有权限。您可以使用宏运行所有单元测试: RUN_ALL_TESTS();