2017-09-05 121 views
4

如何在.Net Core 2.0中生成代碼覆蓋率?.Net Core 2.0中的代碼覆蓋率

我試過如下:

"TestPlatform\vstest.console.exe" --collect:"Code Coverage" 

但我得到這個錯誤信息:

Data collector 'Code Coverage' message: Cannot find CodeCoverage.exe. 

我試圖dotCover最新版本的2017.2對此我能得到本地機器上的覆蓋率,但當在TFS Build中運行它時,不會生成覆蓋信息。

我不確定TFS中的NetCore Test任務何時會獲得代碼覆蓋支持。

如何在TFS中發佈DotCover的結果,並使用DotCover Commandline生成.Net Core的覆蓋範圍?

+0

@slartidan這也與SonarQube有關,因爲當前在TFS中的MS Build Task不能分析Net Core。我正在使用SonarCLI進行分析 – samdinesh

+0

感謝您的澄清! – slartidan

回答

2

VSTest任務無法運行.NET核心測試,因爲它使用的測試平臺版本1.運行.NET核心的測試中,我們建議使用.NET核心任務(預覽)與測試命令。

但是,代碼覆蓋率和其他數據收集是不支持還沒有代理支持。

我們正在解決這個問題,因爲這 https://github.com/Microsoft/vsts-agent/pull/1149/files的一部分將更新 線程一旦修復消失了,新的代理被釋放。螺紋 https://github.com/microsoft/vstest/issues/579#issuecomment-324401462

來源鏈接:VSTest task fails to execute tests in .NET Core 2.0 test project

+0

我知道vsts的工作,我想知道如何發佈覆蓋範圍,因爲DotCover使用TestWindow/vstestconsole.exe,而NetCore不使用它。 – samdinesh

0

它已經很長一段時間,因爲這個問題被問,但我想我的回答如下,將有助於對.NET的Core 2執行測試的項目和使用DotCover工具生成覆蓋率報告。

  1. 下載並安裝Jetbrains的dotcover控制檯設置
  2. 在命令行中執行命令,如下,這將確定測試項目,在解決方案和生成HTML格式的覆蓋率報告。您還可以使用不同的格式生成JSON,NDependXML或DetailedXML。

dotcover分析/ TargetExecutable: 「C:\ PROGRAM 文件\ DOTNET \ dotnet.exe」/ TargetArguments: 「測試 Path_To_Your_Solution_File」 /Output:report.html/REPORTTYPE:HTML

您也可以通過.csproj文件運行並生成測試覆蓋率。