2014-11-05 86 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文件。