Cake.Coverlet 4.0.1

dotnet add package Cake.Coverlet --version 4.0.1                
NuGet\Install-Package Cake.Coverlet -Version 4.0.1                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Cake.Coverlet" Version="4.0.1" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add Cake.Coverlet --version 4.0.1                
#r "nuget: Cake.Coverlet, 4.0.1"                
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互工具或脚本的源代码中,以引用包。
#addin nuget:?package=Cake.Coverlet&version=4.0.1                

Cake.Coverlet

Build status NuGet version

使用方法

为了使用此插件,请确保您已将 Coverlet 包含在您要测试的项目中,并在您的 cake 构建文件中添加以下内容:

#addin nuget:?package=Cake.Coverlet

您也可以将 coverlet 作为全局工具安装到您的计算机上或通过 Cake.DotNetTool.Module 运行命令,而无需 MSBuild。

注意: 与 Coverlet 2.1.1 版本及以上兼容

然后使用以下任一片段:

Task("Test")
    .IsDependentOn("Build")
    .Does<MyBuildData>((data) =>
{
    var testSettings = new DotNetTestSettings {
    };

    var coverletSettings = new CoverletSettings {
        CollectCoverage = true,
        CoverletOutputFormat = CoverletOutputFormat.opencover,
        CoverletOutputDirectory = Directory(@".\coverage-results\"),
        CoverletOutputName = $"results-{DateTime.UtcNow:dd-MM-yyyy-HH-mm-ss-FFF}"
    };

    DotNetTest("./test/My.Project.Tests/My.Project.Tests.csproj", testSetting, coverletSettings);
}

或者当作为工具安装时:

Task("Test")
    .IsDependentOn("Build")
    .Does<MyBuildData>((data) =>
{
    var coverletSettings = new CoverletSettings {
        CollectCoverage = true,
        CoverletOutputFormat = CoverletOutputFormat.opencover,
        CoverletOutputDirectory = Directory(@".\coverage-results\"),
        CoverletOutputName = $"results-{DateTime.UtcNow:dd-MM-yyyy-HH-mm-ss-FFF}"
    };

    // I want to specify the specific dll file and the project exactly.
    Coverlet(
        "./test/My.Project.Tests/bin/Debug/net46/My.Project.Tests.dll", 
        "./test/My.Project.Tests/My.Project.Tests.csproj", 
        coverletSettings);

    // I want to specify just the project file and the dll can be
    // inferred from the name of the project file.
    Coverlet(
        "./test/My.Project.Tests/My.Project.Tests.csproj", 
        coverletSettings);

    // I want to specify just the project directory, we will discover
    // any proj file in the directory (take the first) and infer the 
    // name from the found project.
    Coverlet(
        "./test/My.Project.Tests",
        coverletSettings);
}

在调用 dotnet test 时公开了用于转换覆盖文件输出名称的额外 API。此转换函数采用 Func<string, string> 表达式,传递 CoverletOutputName 并使用返回值作为文件名。

Task("Test")
    .IsDependentOn("Build")
    .Does<MyBuildData>((data) =>
{
    var testSettings = new DotNetTestSettings {
    };

    var coverletSettings = new CoverletSettings {
        CollectCoverage = true,
        CoverletOutputFormat = CoverletOutputFormat.opencover,
        CoverletOutputDirectory = Directory(@".\coverage-results\"),
        CoverletOutputName = $"results"
        OutputNameTransformer = (fileName, directory) => $@"{directory}\{fileName}-HelloWorld"
    };

    DotNetTest("./test/Stubble.Core.Tests/Stubble.Core.Tests.csproj", testSetting, coverletSettings);
}

我们公开了一个默认转换器,用于按标准实践向文件附加当前日期和时间,为 WithDateTimeTransformer()

如果您只想更改输出写入的目录,请设置 CoverletOutputDirectory,而文件名处理将由 coverlet 如常完成。

设置多个输出格式

您可以通过这种方式提供多个 coverlet 格式以支持多个 coverlet 格式:

var coverletSettings = new CoverletSettings {
        CollectCoverage = true,
        CoverletOutputFormat = CoverletOutputFormat.opencover | CoverletOutputFormat.cobertura,
        CoverletOutputDirectory = Directory(@".\coverage-results\"),
        CoverletOutputName = $"results-{DateTime.UtcNow:dd-MM-yyyy-HH-mm-ss-FFF}"
    };

或者通过使用设置类上的方法如下所示:

var coverletSettings = new CoverletSettings {
        CollectCoverage = true,
        CoverletOutputFormat = CoverletOutputFormat.opencover,
        CoverletOutputDirectory = Directory(@".\coverage-results\"),
        CoverletOutputName = $"results-{DateTime.UtcNow:dd-MM-yyyy-HH-mm-ss-FFF}"
    }.WithFormat(CoverletOutputFormat.cobertura);
产品 兼容和额外的计算目标框架版本。
.NET net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard
  • net6.0

    • 无依赖。
  • net8.0

    • 无依赖。

NuGet 包 (2)

显示依赖 Cake.Coverlet 的前 2 个 NuGet 包

下载
Cake.Tasks.DotNetCore

Cake .NET Core 任务

Devocean.Tests

Devocean.Tests 是一套基类和辅助工具,旨在支持在基于 Devocean.Core 的项目中实现集成和单元测试

GitHub 仓库 (3)

显示依赖 Cake.Coverlet 的前 3 个最受欢迎的 GitHub 仓库

仓库 星级
GitTools/GitVersion
从 git 日志到 SemVer,一触即发
octokit/octokit.net
.NET 的 GitHub API 客户端库
charlessolar/Aggregates.NET
.NET 事件源领域驱动设计模型,通过 NServiceBus 和 GetEventStore 实现
版本 下载 最后更新
4.0.1 15,040 3/9/2024
3.0.4 204,513 12/7/2022
3.0.3 329 12/7/2022
3.0.2 61,484 11/17/2022
2.5.4 715,608 2/15/2021
2.5.1 189,573 9/3/2020
2.4.2 211,958 1/30/2020
2.3.4 692,678 6/2/2019
2.2.1 220,322 1/13/2019
2.1.2 48,835 12/11/2018
2.0.1 1,061 12/3/2018
1.3.2 17,837 9/26/2018
1.3.1 7,714 9/4/2018
1.2.1 982 9/1/2018
1.1.4 3,060 7/23/2018
1.1.3 958 7/20/2018
1.1.2 1,010 7/18/2018
1.0.4 5,915 7/2/2018
1.0.3 958 6/27/2018