2013-04-08 348 views
2

我在Visual Studio 2010專業版中創建了C++ googletest項目。這將生成一個控制檯應用程序,它可以生成XML測試結果輸出我如何設置它以獲取代碼覆蓋率信息?如何在Visual Studio 2010中的C++ googletest項目中設置代碼覆蓋率

我試過指令here來測試代碼,但查看Code Coverage結果似乎需要Visual Studio Ultimate。 Visual Studio生成的.coverage文件是否有轉換器?

便攜式/免費/開放源代碼解決方案的積分!

回答

0

我認爲你可以使用VSTEST.Consol.exe來達到這個目的http://msdn.microsoft.com/en-us/library/vstudio/jj155796.aspx。根據文檔,它將運行鍼對任何測試框架編寫的測試。您可以使 /Enablecodecoverage選項,Enables data diagnostic adapter CodeCoverage in the test run.

的更多信息可以在這裏找到:http://blogs.msdn.com/b/bhuvaneshwari/archive/2012/06/16/vstest-console-exe-commandline-test-runner.aspx

還有一個開源的代碼覆蓋工具稱爲ggcov:http://ggcov.sourceforge.net/index.html

希望這些幫助。

+0

看起來像VSTest.Console.exe自帶Visual Studio 2012;我仍然在2010年。 – 2013-04-08 14:40:53

+0

@PsZk不,它也來自VS2010。根據這個鏈接:http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/6b9c5303-2c0d-4790-9552-cee3eef6df0c/ – taocp 2013-04-08 14:43:59

7

您可以嘗試OpenCppCoverage:http://opencppcoverage.codeplex.com

OpenCppCoverage是C++在Windows下的代碼覆蓋工具。它是開源的,可以很好地與谷歌測試/ Visual Studio C++一起使用。

聲明:我是該工具的作者。

希望有所幫助。

編輯遵循brasofilo建議:

更精確地瞭解你的問題,OpenCppCoverage應該使用Visual Studio C++ 2010的專業工作。唯一的要求是支持原生 Pdb文件(http://msdn.microsoft.com/en-us/library/yd4f8bd1%28vs.71%29.aspx)。

它是開源免費的,你可以在這裏找到來源:https://opencppcoverage.codeplex.com/SourceControl/latest

你是什麼意思的便攜式?

希望有所幫助。

+0

請根據問題定製每個答案,複製粘貼相同的答案不會削減它,免責聲明或不聲明。 – brasofilo 2014-08-24 14:29:44

+0

@OpenCppCoverage很高興看到您的項目還活着 - 4天前的最後更新。我注意到你有一個命令行界面 - 該工具是否可以被不使用MSVC並且仍然生成HML輸出的Windows編碼器使用?它是否是FOSS?它可以重建用於Linux?它主要基於'gcov'(也許''lcov')並且只是重新打包爲一個MSVC插件?任何有關Linux版本的計劃,或者如果是FOSS都反對分叉? – Mawg 2015-09-09 08:30:27