2

我想试试coverlet,但我能找到的唯一例子是关于运行它dotnet.exe。我的问题是我们的项目不使用 Sdk 样式,它们是针对 .NET 4.7.2 的旧 .NET 项目

我怎样才能和他们一起跑床单?

4

1 回答 1

1

我正在针对 .NET Framework 4.6.1 构建 VS2017 并安装了 .NET Core SDK v2.1.511。我还没有想出一种不用 using 就可以运行 Coverlet 的方法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 中获得覆盖率报告。

于 2020-01-15T11:46:01.333 回答