我有构建到静态库(.lib)的Visual Studio 2012解决方案(部分可用scons构建)并使用Google Test框架编写此代码的测试(使用自己的main()函数编译成.exe )。
如何使用Visual Studio 2012内置工具或任何免费的VS2012无关软件,从命令行获得此解决方案的测试覆盖率分析?
答案 0 :(得分:2)
最后,我设法做到了这一点。
首先,您需要检测用于运行Google测试的* .exe文件(使用/排除以避免为不需要的命名空间生成报道。正如我的调查显示的那样,' *'通配符最终工作仅限陈述):
vsinstr.exe" mygtests.exe" /COVERAGE /Exclude:std::*
注意:您需要使用vsinstr来获得正确的架构。如果您不确定哪种vsinstr是默认的
,请使用完整路径然后你需要开始测试执行监控(检查架构):
VSPerfcmd.exe" /START:COVERAGE /OUTPUT:tests.coverage /cs /user:Everyone
之后像往常一样运行* .exe文件。
在执行结束时,使用以下内容完成覆盖范围的收集:
VSPerfcmd.exe" -SHUTDOWN
您现在可以在tests.coverage文件中获得覆盖率结果。