2014-11-05 82 views
1

我有Visual Studio 2012解决方案,建立到一个静态库(.lib)(scons构建是部分可用),并测试这个代码是用Google测试框架编写的(编译成.exe具有自己的main()函数)。谷歌测试覆盖Visual Studio 2012

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

回答

1

最后我设法做到了这一点。因为我的调查显示'*'通配符只在语句结束时起作用):使用* .exe文件来运行Google测试(使用/ Exclude以避免生成对不需要的名称空间的覆盖。

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文件。