Visual studio 2012 Visual Studio 2012的谷歌测试覆盖率
我有一个Visual Studio 2012解决方案,该解决方案构建到一个静态库(.lib)(scons build部分可用)中,并使用Google测试框架(使用自己的main()函数编译成.exe)对此代码进行测试Visual studio 2012 Visual Studio 2012的谷歌测试覆盖率,visual-studio-2012,googletest,Visual Studio 2012,Googletest,我有一个Visual Studio 2012解决方案,该解决方案构建到一个静态库(.lib)(scons build部分可用)中,并使用Google测试框架(使用自己的main()函数编译成.exe)对此代码进行测试 如何使用Visual Studio 2012内置工具或任何与VS2012无关的免费软件从命令行获取此解决方案的测试覆盖率分析?最后,我成功地做到了这一点 首先,您需要插入用于运行Google测试的*.exe文件(使用/排除以避免生成不需要的名称空间的覆盖率。正如我的调查所示,“*”
如何使用Visual Studio 2012内置工具或任何与VS2012无关的免费软件从命令行获取此解决方案的测试覆盖率分析?最后,我成功地做到了这一点 首先,您需要插入用于运行Google测试的*.exe文件(使用/排除以避免生成不需要的名称空间的覆盖率。正如我的调查所示,“*”通配符仅在语句末尾起作用): 注意:您需要使用vsinstr来实现适当的体系结构。如果不确定默认的vsinstr类型,请使用完整路径 然后您需要启动测试执行监控(也检查架构): 之后,像往常一样运行*.exe文件 在执行结束时,使用以下方法完成覆盖范围的收集:
VSPerfcmd.exe" -SHUTDOWN
现在,您可以在tests.coverage文件中获得覆盖率结果。微软让这一过程变得如此困难,这绝对令人惊讶。
VSPerfcmd.exe" /START:COVERAGE /OUTPUT:tests.coverage /cs /user:Everyone
VSPerfcmd.exe" -SHUTDOWN