Ral*_*ing 13 c# code-coverage visual-studio-2015 .net-core asp.net-core
我想在ASP.NET Core应用程序中测量我的XUnit-Tests的代码覆盖率.Visual Studio 2015中的.NET Core工具是预览2,目前代码覆盖率不起作用.
2月份的博客文章http://dotnetthoughts.net/measuring-code-coverage-of-aspnet-core-applications-using-opencover/通过使用打开封面的命令行显示了一种解决方法.我正在寻找Visual Studio内部更加集成的方式.
有没有人听说过与XUnit结合使用的更好/更集成的代码覆盖率测量方法?
小智 7
将NuGet包 Microsoft.CodeCoverage 1.0.1添加到您的project.json.
我正在为Template工作,Asp.NET现在我正在进行单元测试,所以我看到了你的帖子.你可以在这里看到项目/配置.
免责声明:这些步骤来自使用OpenCover测量ASP.NET核心覆盖范围--DotNetThoughts.
虽然海报上有关于这个网站的说法,但我认为在这里继续繁荣这些步骤仍然是最好的.
注意:这些说明虽然适用于Windows操作系统,但应该可以轻松地用于OpenCover和ReportGenerator支持的任何操作系统.
@echo off
SET dotnet="C:\Program Files\dotnet\dotnet.exe"
SET opencover="C:\Program Files (x86)\OpenCover\OpenCover.Console.exe"
SET reportgenerator="C:\Program Files (x86)\OpenCover\ReportGenerator\ReportGenerator.exe"
SET targetargs="test"
SET filter="+[*]NAMESPACE.* -[*.Test]* -[xunit.*]* -[FluentValidation]*"
SET coveragefile=Coverage.xml
SET coveragedir=Coverage
REM Run code coverage analysis
%opencover% -oldStyle -register:user -target:%dotnet% -output:%coveragefile% -targetargs:%targetargs% -filter:%filter% -skipautoprops -hideskipped:All
REM Generate the report
%reportgenerator% -targetdir:%coveragedir% -reporttypes:Html;Badges -reports:%coveragefile% -verbosity:Error
REM Open the report
start "report" "%coveragedir%\index.htm"
Run Code Online (Sandbox Code Playgroud)
+[*]NAMESPACE.*根据需要为每个名称空间复制正则表达式多次小智 5
代码覆盖对我有用,对于.Net Core使用Microsoft.CodeCoverage如上所述.
检查您是否已将Microsoft.CodeCoveragenuget添加到测试项目中
还要检查主项目上的project.json文件,debugType属性应该是"full"而不是"portable"
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"debugType": "full"
},
Run Code Online (Sandbox Code Playgroud)
这对我来说很有用
我刚刚尝试了 ReSharper 版本 2016.3 EAP 4(早期访问预览版)。除了单元测试执行之外,现在 dotCover 返回我的 .net core 测试项目的代码覆盖率信息。
| 归档时间: |
|
| 查看次数: |
12131 次 |
| 最近记录: |