我只是想嘗試OpenCover
從我的應用程序獲取覆蓋率統計。 但我不明白如何使用它。所以在這裏我的問題? 該dll是否必須在同一目錄? (我的解決方案有幾個項目) 任何使用OpenCover
來覆蓋Coverage的例子? 是否需要在IIS Express
或ASP.NET
開發服務器可以運行該站點?OpenCover在本地主機與C#MVC 4應用程序
非常感謝!
我只是想嘗試OpenCover
從我的應用程序獲取覆蓋率統計。 但我不明白如何使用它。所以在這裏我的問題? 該dll是否必須在同一目錄? (我的解決方案有幾個項目) 任何使用OpenCover
來覆蓋Coverage的例子? 是否需要在IIS Express
或ASP.NET
開發服務器可以運行該站點?OpenCover在本地主機與C#MVC 4應用程序
非常感謝!
與OpenCover一起安裝的文檔包含大量有關運行OpenCover的有用信息。你應該有一個https://github.com/sawilde/opencover/blob/master/main/OpenCover.Documentation/Usage.pdf這個文件的副本在你下載軟件包(MSI/ZIP/NUGET)
這個DLL不需要全都在同一個目錄下,但是你通常會發現這是由於構建過程造成的。您希望收集覆蓋範圍的任何程序集都將要求這些程序集的PDB與程序集位於相同的目錄中,或者位於targetdir切換器引用的文件夾中。
是的,您可以使用它運行iisexpress或ASP.NET開發服務器使用目標開關。
我設置了打開封面作爲外部工具,使我更容易。
下載exe並將其放在儘可能短的路徑中的文件夾中。然後設置和外部工具如下:
Title : Open Cover {this is your choice}
Command: {your path to opencover}\OpenCover.Console.exe
Arguments: -register:user -target:"C:\Progra~1\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" -targetargs:"$(TargetName)$(TargetExt)" -output:coverage.xml -targetdir:"$(ProjectDir)\bin\debug"
Initial directory: $(TargetDir)
將其設置爲使用輸出窗口並關閉退出。你需要調整測試跑步者計劃以適應你,我使用vs2012,如果你也這樣做,那會讓你更容易。
要使用它,請在解決方案資源管理器中單擊您的測試項目,然後單擊打開的封面外部工具,它會生成覆蓋率報告。我使用它與報告生成器。
其設置爲外部工具太:
Title: Report Generator
Command: {Your path to report generator}\ReportGenerator.exe
Arguments: $(TargetDir)coverage.xml $(TargetDir)\coverageResults
再次,設置爲關閉退出,並使用輸出窗口。
生成覆蓋率報告後,您可以使用報告生成器創建一個漂亮的html版本,您可以點擊並查看統計信息。
hth
謝謝,我會試一試。我使用的是VS2010,我的測試是用Nunit編寫的 – mspasiuk
應該還是可以的,只要調整目標路徑到nuint測試運行器並設置它的參數,你應該很好走 – Slicksim