1
我有Visual Studio 2012解決方案,建立到一個靜態庫(.lib)(scons構建是部分可用),並測試這個代碼是用Google測試框架編寫的(編譯成.exe具有自己的main()函數)。谷歌測試覆蓋Visual Studio 2012
如何使用Visual Studio 2012內置工具或任何免費的與VS2012無關的軟件從命令行獲得此解決方案的測試覆蓋率分析?
我有Visual Studio 2012解決方案,建立到一個靜態庫(.lib)(scons構建是部分可用),並測試這個代碼是用Google測試框架編寫的(編譯成.exe具有自己的main()函數)。谷歌測試覆蓋Visual Studio 2012
如何使用Visual Studio 2012內置工具或任何免費的與VS2012無關的軟件從命令行獲得此解決方案的測試覆蓋率分析?
最後我設法做到了這一點。因爲我的調查顯示'*'通配符只在語句結束時起作用):使用* .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文件。