Rob*_*abe 1 testing code-coverage xunit.net reportgenerator azure-pipelines-build-task
我在 VSTS 中有一个构建,如下所示:
您可以从屏幕截图中看到“测试并生成代码覆盖率”的测试步骤。它使用这个命令:
/p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)\TestResults\Coverage\coverage
这允许生成代码覆盖率报告。我已经使用我定义的特征(例如集成或单元)将“类别”添加到我的 xUnit 测试中,以允许我在构建/发布期间过滤测试。示例是:
using System;
using System.Collections.Generic;
using System.Linq;
using Xunit.Abstractions;
using Xunit.Sdk;
/// <summary>
/// Decorates a test as a Unit Test, so that it runs in Continuous Integration builds.
/// </summary>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class IsUnitAttribute : AICategoryAttribute
{
/// <summary>
/// Initializes a new instance of <see cref="IsUnitAttribute"/>
/// </summary>
public IsUnitAttribute() : base("Unit") { }
}
/// <summary>
/// Decorates a test as an Integration Test, so that it runs in Continuous Integration builds.
/// </summary>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class IsIntegrationAttribute : AICategoryAttribute
{
/// <summary>
/// Initializes a new instance of <see cref="IsIntegrationAttribute"/>
/// </summary>
public IsIntegrationAttribute() : base("Integration") { }
}
Run Code Online (Sandbox Code Playgroud)
我只知道如何在VS-Test步骤中应用过滤器,如下:
但当我使用 dotnet 进行测试时却不是:
我只知道如何使用 dotnet(而不是 VS-Test)构建代码覆盖率……我想两者都做!我如何能:
a) 将命令添加到 VS-Test 以生成代码覆盖率,就像我使用上面的命令对 dotnet 所做的一样。
或者
b) 将过滤器应用于 dotnet 测试步骤?
任何指针非常感谢!
| 归档时间: |
|
| 查看次数: |
6668 次 |
| 最近记录: |