【问题标题】:Google Test coverage for Visual Studio 2012Visual Studio 2012 的 Google 测试覆盖率
【发布时间】:2014-11-24 17:58:43
【问题描述】:

我有 Visual Studio 2012 解决方案,该解决方案构建到静态库 (.lib) 中(scons 构建部分可用)并测试使用 Google 测试框架编写的此代码(编译成具有自己的 main() 函数的 .exe )。

如何使用 Visual Studio 2012 内置工具或任何与 VS2012 无关的免费软件从命令行获取此解决方案的测试覆盖率分析?

【问题讨论】:

    标签: visual-studio-2012 googletest


    【解决方案1】:

    我终于成功了。

    首先,您需要检测用于运行 Google 测试的 *.exe 文件(使用 /Exclude 以避免对不需要的命名空间产生覆盖。正如我的调查所示,“*”通配符仅在语句末尾有效):

    vsinstr.exe" mygtests.exe" /COVERAGE /Exclude:std::*
    

    注意:您需要使用 vsinstr 以获得正确的架构。如果您不确定默认的 vsinstr 类型,请使用完整路径

    然后你需要开始测试执行监控(Check architecture too):

    VSPerfcmd.exe" /START:COVERAGE /OUTPUT:tests.coverage /cs /user:Everyone
    

    之后像往常一样运行您的 *.exe 文件。

    在执行结束时使用以下内容完成覆盖率的收集:

    VSPerfcmd.exe" -SHUTDOWN
    

    您现在可以在 tests.coverage 文件中获取覆盖结果。

    【讨论】:

    • 微软让这个过程变得如此困难,真是令人惊讶。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 2012-09-15
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    相关资源
    最近更新 更多