【发布时间】:2019-07-18 14:37:52
【问题描述】:
我想试试coverlet,但我能找到的唯一例子是关于通过dotnet.exe 运行它。我的问题是我们的项目不使用 Sdk 样式,它们是针对 .NET 4.7.2 的旧 .NET 项目
我怎样才能和他们一起跑床单?
【问题讨论】:
标签: .net code-coverage coverlet
我想试试coverlet,但我能找到的唯一例子是关于通过dotnet.exe 运行它。我的问题是我们的项目不使用 Sdk 样式,它们是针对 .NET 4.7.2 的旧 .NET 项目
我怎样才能和他们一起跑床单?
【问题讨论】:
标签: .net code-coverage coverlet
我正在针对 .NET Framework 4.6.1 构建 VS2017,并安装了 .NET Core SDK v2.1.511。我还没有想出不使用dotnet 来运行被套的方法,但这对我有用:
在包管理器控制台中为您的所有测试项目运行Install-Package coverlet.msbuild(仅限)。
然后将类似以下任务的内容添加到您的构建脚本中:
Task("Coverage")
.IsDependentOn("Build")
.Does(() =>
{
StartProcess("dotnet" , new ProcessSettings {
Arguments = new ProcessArgumentBuilder()
.Append("test")
.Append("/p:CollectCoverage=true")
.Append("/p:CoverletOutputFormat=opencover")
});
});
通过将OpenCoverReportsPath = "**/*.opencover.xml" 添加到我的SonarBeginSettings,我现在可以在 SonarQube 中获得覆盖率报告。
【讨论】: